如何避免将重复的标记添加到Leaflet中的图层组

时间:2013-06-26 16:12:50

标签: leaflet

我正在构建一个基本的租车搜索应用程序,它返回来自多个提供商的结果,并通过Leaflet地图显示这些提供商的位置。目前,我正在遍历结果并为每个结果添加位置标记到图层组。

然而,每个提供商都会返回一些结果(他们提供的不同车型等等),而我正在尝试找出如何为每个提供商添加一个标记。我猜也许我需要以某种方式使用'hasLayer',我只是不确定如何....

1 个答案:

答案 0 :(得分:4)

Leaflet仅检查您是否已与地图具有相同的标记。

您需要记住添加的所有内容并在添加之前进行检查。

var added = [];

function addShop(shop){

    if(!added.contains(shop.id)) 
        var marker = magicMarkerFactory(shop);
        map.addTo(marker);
        added.push(shop.id);
    }

}