Leaflet.MiniMap 切换地图

在项目中使用leaflet来实现地图的相关效果,其中就有容器地图(大地图)需要切换电子地图和卫星地图;

当然这部分最后是实现了,但是发现我们右下角使用leaflet.minimap实现的鹰眼地图(小地图)的底图瓦片没有跟地图的底图瓦片切换对应;如大小地图都是初始化加载电子地图,结果大地图切换成卫星地图的时候,小地图还是电子地图

到这里我们肯定是想把小地图也切换为跟大地图一样的底图瓦片,保持视图的统一;

这里使用changeLayer来实现改变底图瓦片图层的效果

// 初始鹰眼地图
var osm2 = new L.TileLayer(osmUrl, {minZoom: 0, maxZoom: 13});
var miniMap = new L.Control.MiniMap(osm2).addTo(map);
// 改变底图瓦片图层
var newLayer = new L.TileLayer(osmUrl, {minZoom: 0, maxZoom: 13});
miniMap.changeLayer(newLayer)

这里我们已经可以改变鹰眼地图的视图了,大小地图单独切换的时候都是没问题,但是当大小地图一起联动切换的时候,就出现问题了,解决方法就是底图图层对象不要共用,同一个底图瓦片我们需要申明两次分别用于大小地图的切换

// 大地图底图
let electronics = L.tileLayer(this.options.url,{
    maxZoom: 18,
    minZoom: 5,
})
// 小地图底图
let minElectronics = L.tileLayer(this.options.url,{
    maxZoom: 18,
    minZoom: 5,
});

leaflet.MiniMap插件地址 GitHub - Norkart/Leaflet-MiniMap: A minimap control plugin for Leaflet

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值