Я создаю инструмент, используя API Google Maps v3. Мне нужно наложить несколько полигонов и маркеров и очистить их.
Я пытался следовать примеру, похожему на this — поместить полигоны/маркеры в массив, а затем удалить их из массива и, следовательно, из карты.
Однако, когда я помещаю полигон или маркер в свой массив, результирующее значение массива всегда «не определено», хотя мои полигоны и маркеры правильно отображаются на карте.
Примечание. Я использую wicket для чтения WKT из моей базы данных в карты Google.
Функция ниже имеет проблему - идентификатор отправляется в functions.php, WKT для этого идентификатора возвращается, и он отображается - и должен быть помещен в массив, но это не так.
Я попытался установить полигон/маркеры в переменную и поместить ее в массив, но это также не сработало.
var layersArr = [];
function getGeo(id){
$.ajax({
url: 'functions.php',
type: 'POST',
data: {
request: 'getGeo',
id: id
},
success: function(data){
wkt.read(data);
switch(wkt.type){
case 'polygon':
case 'multipolygon':
layersArr.push(new google.maps.Polygon(wkt.toObject()).setMap(map));
break;
case 'point':
layersArr.push(new google.maps.Marker(wkt.toObject()).setMap(map));
break;
default:
alert('Unrecognized wkt type');
return;
break;
}
},
error: function(jqXHR, text, error){
ajaxError(jqXHR, text, error);
}
});
}