送信ボタンをクリックしたときにすべてのマーカーをクリアしたい。緯度と経度があり、そのマーカーをクリアしたい場合、どうすればよいですか。また、ルートを検索する場合は、すでにロードされているすべてのマーカーをクリアしたいと思います。
1964 次
1 に答える
0
挿入後にマップからマーカーを削除するには、グローバル変数を使用してマーカーを追跡する必要があります。
var markers = [];
次に、マップにマーカーを追加するたびに、マーカーをmarkers
配列にも追加します。
markers.push(new google.maps.Marker({
map: map,
position: new google.maps.LatLng(20, 20)
});
マップからすべてのマーカーをクリアするには、次を使用できます。
for (var i = 0; i < markers.length; i++)
markers[i].setMap(null);
配列を同時にクリアしたい場合はmarkers
、これを使用できます。
for (var i = markers.length-1; i >= 0; i++) {
markers[i].setMap(null);
markers.pop();
}
またはこれ:
for (var i = 0; i < markers.length; i++)
markers[i].setMap(null);
markers = [];
オブジェクトとして緯度と経度の値に基づいてマーカーを削除する場合
LatLng
は、次を使用できます。
for (var i = 0; i < markers.length; i++) {
if (markers[i].getPosition().equals(latLng)
markers[i].setMap(null);
}
単に座標がある場合は、次を使用できます。
for (var i = 0; i < markers.length; i++) {
var latLng = new google.maps.LatLng(lat, lng);
if (markers[i].getPosition().equals(latLng)
markers[i].setMap(null);
}
于 2012-08-26T20:48:12.363 に答える