Googleマップから個々のマーカーを削除したい。バージョン3のAPIを使用しています。markerArray
すべてのマーカーを維持し、マップをnullに設定することで、すべてのマーカーを削除する方法を知っています。
一つずつ削除するために、キーと値のペアの組み合わせを考えています。キーを与えて特定のマーカーを削除するようにします。これについては助けが必要です。
以下は、マーカーをドラム化するために使用するコードです。
function geoCodeAddresses(data) {
var markerInfo = {addressKey: '', marker:''};
for (var i = 0; i < data.length; i++) {
myLocation = data[i];
geocoder.geocode({"address":myLocation}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({map:map, position:results[0].geometry.location});
// checkpoint A
alert(myLocation);
/*
markerInfo.addressKey = myLocation;
markerInfo.marker = marker;*/
//mArray.push(markerInfo);
}
});
}
}
マーカーを検索しaddresskey
て削除しますmArray
。しかし、ジオコードコールバックメソッドで毎回最後の値を取得します。そして、毎回1つのオブジェクトがプッシュされました。var myLocationは、常に配列の最後のインデックスのアドレスを教えてくれます。チェックポイントAで警告した場合。
私のアプローチは正しいですか?