[解決済み] リーフレット - 既存のマーカーを検索したり、マーカーを削除するには?
2022-02-05 23:44:39
質問
オープンソースの地図としてリーフレットを使い始めました。 http://leaflet.cloudmade.com/
以下のjQueryコードにより、地図クリック時に地図上にマーカーを作成することができます。
map.on('click', onMapClick);
function onMapClick(e) {
var marker = new L.Marker(e.latlng, {draggable:true});
map.addLayer(marker);
marker.bindPopup("<b>Hello world!</b><br />I am a popup.").openPopup();
};
しかし、現在のところ、既存のマーカーを削除したり、地図上に作成したすべてのマーカーを検索して配列に格納する方法は(私のコードには)存在しません。どなたか、この方法を理解する手助けをしていただけませんか?Leafletのドキュメントはこちらでご覧になれます。 http://leaflet.cloudmade.com/reference.html
解決方法は?
を関数の外に置く必要があります。そうすれば、後でアクセスすることができます。
var marker;
function onMapClick(e) {
marker = new L.Marker(e.latlng, {draggable:true});
map.addLayer(marker);
marker.bindPopup("<b>Hello world!</b><br />I am a popup.").openPopup();
};
その後で
map.removeLayer(marker)
しかし、その方法では最新のマーカーしか持つことができません。毎回、varマーカーは最新のものによって消去されるからです。そこで、markerのグローバル配列を作成し、そこに自分のmarkerを追加するのもひとつの方法です。
関連
-
[解決済み] jQueryでdiv内のspanにテキストを追加する
-
[解決済み] jQueryで文字色を変更するにはどうすればよいですか?
-
[解決済み] jQuery.whenの理解
-
[解決済み] クラス別のjquery onclick
-
[解決済み] どのようにjQueryでJSON配列をループするのですか?
-
[解決済み] Vimeoのコントロールを非表示にする方法
-
[解決済み] Contact Form 7 のフォームで AJAX を有効にする(AJAX ロード後)。
-
[解決済み] jQueryとIntraweb?
-
[解決済み] jQuery resizableを画像と結合する方法は?
-
[解決済み] 数値の配列の和の求め方
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】jQueryでクリックされた要素のIDを取得する方法
-
[解決済み] jQuery ValidateプラグインでaddMethodを使用する
-
[解決済み] 無効な JSON プリミティブ ERROR
-
[解決済み] jQueryは、すべてのテキストフィールドの値の合計を計算する
-
[解決済み] jQueryで文字色を変更するにはどうすればよいですか?
-
[解決済み] jQuery.whenの理解
-
[解決済み] jQueryで小文字と大文字を使い分ける
-
[解決済み] jQuery - クラスの代わりにIDを追加する
-
[解決済み] Uncaught TypeError: 未定義のプロパティ 'ajax' を読み取ることができません。
-
[解決済み] JW-Player - アンロードするには?