缩放到指定大小,定位到指定位置后,打开 openPopup 失败

276 阅读1分钟

目标:点击 marker 或者 车牌号,定位到车辆位置,设置合适的zoom,并且openPopup打开信息弹窗

问题:点击车牌号后,有时无法正确打开openPopup

原因:

  1. popup绑定在了marker上
  2. 考虑marker点在openPopup时未打在地图上。 使用了 L.markercluster 聚集功能,zoom缩放到一定背书后才会显示marker点

解决方法:

  1. 改变代码顺序,缩放后在openPopup ;如果仅改变顺序不行,可以使用setTimeOut
  2. 直接创建popup弹窗,不要与marker绑定

方法2详细代码如下:

// 地图初始化
this.popup = L.popup().setContent('html-content')
// 打开popup
 this.popup
	.setLatLng(marker.getLatLng())
	.openOn(this.map)