マーカーポップアップをクリックしたときにその内容を入力する方法はどこかに文書化されていますか?
また、表示されているすべてのマーカーのポップアップコンテンツにデータを入力することはできますか? Leaflet.markerclusterを使用していますが、個々のマーカーが表示されるようにズームインした場合にのみ、ポップアップコンテンツを読み込むと便利です。
私はjsがあまり得意ではなく、検索で何も思いつかなかったのですが、私がやろうとしていることは可能だと感じています...?
再度、感謝します!
ポップアップを明示的に作成する場合は、コンテンツを設定できます。
var popup = new L.Popup();
popup.setLatLng(latlng);
popup.setContent('seme content');
map.openPopup(popup);
http://leaflet.cloudmade.com/reference.html#popup
したがって、マーカーの「クリック」イベントをリッスンします(これはMarkerClusterGroupで設定できます)。 次に、起動時に、読み込みメッセージを含むポップアップを作成し、ajaxを介してコンテンツを読み込み、戻ってきたときにコンテンツを内部に設定します。
var group = new L.MarkerClusterGroup();
group.on('click', showMarker);
function showMarker(marker) {
//use marker.layer for the marker IIRC
//Create popup here and fetch content
}
お役に立てば幸いです。
おかげで、私はこれを研究して実装するつもりです!
これはグーグルでよく参照されていたので、ここに探している人々のためにあります:
リーフレット0.7.3の実際の例を次に示します。
var marker = L.marker([48.859085, 2.347403]);
marker.bindPopup("Loading...")
marker.on('click', function(e) {
var popup = e.target.getPopup();
var url="DYNAMIC_CONTENT_URL";
$.get(url).done(function(data) {
popup.setContent(data);
popup.update();
});
bindPopup()
関数を渡すこともできることに注意してください。 ポップアップが開かれたときに呼び出され、 String
またはHTMLElement
を返す必要があります。 したがって、コードの別のバージョン(どのイベントタイプがポップアップを開くかを指示しません):
var marker = L.marker([48.859085, 2.347403]);
marker.bindPopup(function() {
var el = $('<div/>');
$.get("DYNAMIC_CONTENT_URL").done(function(data) {
el.setContent(data);
popup.update();
});
return el;
});
誰かが共有したいと思うこの実例を持っていますか?
@chriszrcは私に多くのトラブルを救った。 ありがとう
@chriszrcAPIからのJSONデータを使用してそれを行うことができません。
ポップアップは表示されません。
サンプルデータは次のようになります。
{"datapoint":[{"intensity":92,"latitud":"18.52","longitud":"82.4767"},{"intensity":68,"latitud":"17.7375","longitud":"82.8347"}]}
ポップアップに強度を表示しようとしています。
これは私が試したものです:
`` `
marker.bindPopup((popup)=> {
var el = document.createElement( 'div');
el.classList.add( "my-class");
$ .getJSON( " http://www.example.com/data "、function(datapoint){
el.innerHTML = '
return el;
@kunaldhariwal例なしでは言うことのできない、プランカーか何かを投稿する必要があります。 ただし、初心者の場合、コードスニペットをロードしているURL( "http://www.example.com/data")は有効なjsonを返すようには見えません-
@chriszrcこれはURLの例です。 いくつかの明らかな理由で、正確なURLを明らかにすることはできません。
申し訳ありませんが、私は何かを理解しようとします。
最も参考になるコメント
これはグーグルでよく参照されていたので、ここに探している人々のためにあります:
リーフレット0.7.3の実際の例を次に示します。