2016-10-01 9 views
1

jqueryの$ .getJSONコールの内部では、私はその後、マーカーにポップアップを結合し、いくつかのマーカーやポップアップを作成します。を開き、いくつかのポップアップ

$.each(points, function(index, p) { 
    var marker = L.marker(L.latLng(p.lat, p.lon), { title: p.text }); 
    var popup = L.popup().setContent(p.text); 
    marker.bindPopup(popup); 
} 

私はマーカー上のすべてのポップアップがオープンになりたいです地図がロードされた後(可能であれば開いたままに)リーフレット1.0のドキュメントには、「Map.openPopupを使用するか、Map.addLayerを使用して、必要なだけ開くことができます。 (leaflet - popup参照)。

可能であれば、私は(例えばSO - keep popups openのように)耳を傾けなければならない場所に "組み込み"ソリューションを使用することをお勧めします。 1つの利点は、そのアプローチを一般的に使用できることです。たとえば、すべてのツールチップを開くこともできます。そして、それはおそらく層をよりよく理解するのに役立ちます。

LayerGroupsとFeatureGroupsを使用して、いくつかのアプローチを試しましたが、役に立たなくなりました。一度にポップアップのグループを開くにはどうすればいいですか?

答えて

1

すべてのポップアップを含むlayerGroupを使用できます。そうすれば、あなたはあなたのポップアップのためのグループコントロールのすべての機能を持つことができます。

JSfidle(https://jsfiddle.net/vaillant/f4zpr6us/)の基本的な例を再現しましたが、すべてのポップアップを一度に削除するのではなく、layerGroupから特定のポップアップのみを削除することができます。以下はコードの重要な部分です:

関連する問題