0

getLatLng を使用して、マーカーのすべての位置を警告したいと考えています。

これも非常にうまく機能します。

次のコードで地図上にマーカーを配置します。

var marker = new L.Marker(e.latlng, {
        draggable:true,

        contextmenu: true,
          contextmenuItems: [{
             text: 'Marker entfernen',
              index: 0,
              callback: remove
            },{

              separator: true,
              index: 1
          }]
        });    
   map.addLayer(marker);

そして、私はこのコードで位置を取得します:

$( ".test" ).click(function() {
alert(marker.getLatLng());
});

すべての追加マーカー位置はアラートになります。

しかし、このコードでマーカーを削除すると:

map.removeLayer(marker);

削除されたマーカーの位置は、アラートボックスに表示されたままです!

4

1 に答える 1

1

の Javascript オブジェクトはmarker、 を使用して削除した後も、そのすべてのプロパティとともに存在しますmap.removeLayer(marker);。簡単に修正するmarker = null;には、レイヤーから削除した後に追加するだけです。ただし、アラートを呼び出す前に null をチェックする必要もあります。

于 2013-09-24T11:40:15.897 に答える