需求
在地图上搜索某个点时
- 要定位到这个点,
- 显示这个点的 infowindow。
玄学现象
测试上述需求放大并显示infowindow,出现了玄学现象
- 某些点点的 infowindow 会显示。
- 某些不会显示。
解决思路复盘
- 思考。-> 无果
- 搜索引擎。-> 无果
- 查看日志。-> 无果
- 对比正常显示infowindow 和 异常不显示的 日志。
- git 社区搜索 -> 无果
- Debug
- 发现正常显示 infowindow 的。定位的地图区域只绘制有一个marker(不在该区域的marker,本人已做处理,不会绘制)。
- 异常不显示 infowindow 的。定位的地图区域包含二个以上的marker。
- 思来想去,只有可能上述第四点现象引起的。根据以往的经验和验证。高德还是百度的 InfoWinfow 每次都只能显示一个。 查看关键代码
上面的active会执行下述方法
这里 active = false 时。 也会执行。
- 如果先后add两个marker.
- 第一个marker 设置为 [active = true] 显示infowindow。
- 然后 第二个 设置 [active = false]时。又会执行一个遍 hideInfoWindow。这个可能会把第一个地图上显示infoWindow 给隐藏掉。