Leaflet:放大到某个级别时显示标记名称

时间:2014-05-09 20:05:51

标签: javascript leaflet

我创建了一张Leaflet地图,显示了我所在地区的某些公司。每家公司都在地图上有自己的标记。

当放大到足够近时(让我们说缩放级别16),我想在公司的标记上方显示公司的名称。我想通过使用弹出窗口然后创建一个包含所有弹出窗口的LayerGroup来做到这一点,因为否则你一次只能显示1个弹出窗口。我在使用

创建公司标记时创建弹出窗口
popup.setLatLng(companyLocation); 

并立即将其添加到我的LayerGroup。

所以我将一个zoomend事件绑定到我的地图上,该地图执行一个获取当前zoomLevel的函数。如果zoomLevel为16或更高,我使用

将LayerGroup添加到地图
companyPopupLayerGroup.addTo(map);

如果zoomlevel低于16,我使用

将LayerGroup删除到地图
companyPopupLayerGroup.clearLayers();

如果我使用16或更高的默认缩放级别创建我的地图,这可以正常工作,但如果我再次缩小并重新登录或从较低的zoomLevel开始并放大,则它不会显示任何内容。

我想知道我可能做错了什么,如果没有另一种方式来显示公司名称而不使用弹出窗口(似乎不是为这种用法做的)。

如果我需要显示具体的代码,我很乐意这样做,但首先我要试着找出是否有更正确的方法来做这件事。

谢谢!

1 个答案:

答案 0 :(得分:1)

显然弹出窗口不是可行的方法。

我最终使用了完美无缺的标签(https://github.com/Leaflet/Leaflet.label