1

多数のプロバイダーから結果を返し、これらのプロバイダーの場所を Leaflet マップで表示する基本的なレンタカー検索アプリケーションを構築しています。現時点では、結果をループして、各結果のレイヤー グループに位置マーカーを追加しています。

ただし、各プロバイダーは多数の結果 (提供するさまざまな車種など) を返します。各プロバイダーにマーカーを 1 つだけ追加する方法を考えています。どうにかして「hasLayer」を使用する必要があるのではないかと思いますが、どうすればよいかわかりません....

4

1 に答える 1

4

リーフレットは、マップに同じマーカーが既にあるかどうかのみをチェックします。

追加したものはすべて覚えておいて、追加する前に確認する必要があります。

var added = [];

function addShop(shop){

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

}
于 2013-06-26T19:54:23.220 に答える