如何为Leaflet的addMiniMap添加自定义地图?
Leaflet 迷你地图使用不同底图的实现方法
要实现主地图与迷你地图使用不同底图,核心是利用addMiniMap()的tiles参数,将迷你地图的底图对象传入该参数即可,无需在主地图链中额外添加图层。
正确代码示例
library(leaflet) leaflet() |> addProviderTiles(providers$CartoDB.Positron) |> setView(lng = 13.4, lat = 52.52, zoom = 14) |> addMiniMap( width = 150, height = 180, position = "topleft", tiles = providers$Esri.NatGeoWorldMap )
关键说明
- 主地图底图通过
addProviderTiles(providers$CartoDB.Positron)设置,这部分逻辑保持不变。 - 在
addMiniMap()中,tiles参数专门用于指定迷你地图的底图,传入providers$Esri.NatGeoWorldMap就能让迷你地图使用独立的底图。 - 你之前的代码错误地在主地图链末尾调用
addProviderTiles(providers$Esri.NatGeoWorldMap),这会将该底图叠加到主地图上,而非应用给迷你地图。
内容的提问来源于stack exchange,提问作者Salvador
相关产品推荐
相关产品推荐

