Я хочу удалить отдельный маркер с карты Google. Я использую API версии 3. Я знаю, как можно удалить все маркеры, сохранив значение markerArray
и установив нулевую карту для всех.
Для удаления одного за другим я думаю создать комбинацию пары ключ-значение. Так что я даю ключ и убираю конкретный маркер. Мне нужна помощь по этому поводу.
Ниже приведен код, который я использую для перетаскивания маркера:
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
. Но я получаю последнее значение каждый раз в методе обратного вызова геокодирования. И каждый объект толкали каждый раз. var myLocation всегда дает мне адрес последнего индекса моего массива. Если я предупреждаю об этом в контрольной точке А.
Мой подход правильный?