2016-08-11 6 views
1

を動作しません、私はマップから要素を削除しようとしています: 作業コード:リーフレット:IDによるremoveLayerが

var x = L.imageOverlay(fullURL, xbounds).addTo(Window.map); 
Window.map.removeLayer(x); 

作業しないでください:

var x = L.imageOverlay(fullURL, xbounds).addTo(Window.map); 
Window.map.removeLayer(1); 

docsすることにより、それが除去するための方法を持っています要素別ID

+0

ドキュメントは 'id'は' STRING'なければならないことを言います。 '' 1 ''で動作しますか? – xmojmr

+0

@xmojmrいいえ動作しません。 –

答えて

2

実際には、map.removeLayer()は(最初のコードのように)レイヤーのみを受け入れます。

これはIDを受け入れることもできるlayerGroup.removeLayer()です。

この「ID」はリーフレットによって自動的に定義され、L.stamp(layer)を使用して取得することができます。

var layerGroup = L.layerGroup().addTo(map) 
var x = L.marker(coordinates).addTo(layerGroup); 
var x_id = L.stamp(x); // Retrieve the x layer ID 
layerGroup.removeLayer(x_id); 

デモ:https://jsfiddle.net/3v7hd2vx/65/

関連する問題