Leaflet 如何避免向传单中的图层组添加重复标记

Leaflet 如何避免向传单中的图层组添加重复标记,leaflet,Leaflet,我正在构建一个基本的租车搜索应用程序,它返回许多提供商的搜索结果,并通过传单地图显示这些提供商的位置。目前,我正在遍历结果,并为每个结果向图层组添加一个位置标记 然而,每个提供者都会返回大量结果(它们提供的不同车型等等),我正在尝试如何为每个提供者添加一个标记。我猜也许我需要使用“hasLayer”,我只是不确定如何……传单只会检查地图上是否有相同的标记 你需要记住你已经添加的所有内容,并在添加之前进行检查 var added = []; function addShop(shop){

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


然而,每个提供者都会返回大量结果(它们提供的不同车型等等),我正在尝试如何为每个提供者添加一个标记。我猜也许我需要使用“hasLayer”,我只是不确定如何……

传单只会检查地图上是否有相同的标记

你需要记住你已经添加的所有内容,并在添加之前进行检查

var added = [];

function addShop(shop){

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

}

传单仅检查地图上是否有相同的标记

你需要记住你已经添加的所有内容,并在添加之前进行检查

var added = [];

function addShop(shop){

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

}

HasLayer
仅在比较同一对象时有效。当您有两个包含相同数据的独立对象时,它将不起作用。在将新图层添加到组中之前,您需要在添加新图层之前编写一些自定义比较代码,该代码用于检查这些“重复”车辆。
HasLayer
仅在比较同一对象时有效。当您有两个包含相同数据的独立对象时,它将不起作用。在将新图层添加到group.Perfect之前,您需要在添加新图层之前编写一些自定义比较代码,该代码用于检查这些“重复”汽车。唯一的问题是本机没有array.contains。因此,作为一种解决方法,您可以使用jQuery.inArray()(或)或通过oneselfPerfect对其进行编码。唯一的问题是本机没有array.contains。因此,作为一种解决方法,您可以使用jQuery.inArray()(或)或自己编写代码