我正在使用 Google Maps API v3 创建一个工具。我需要覆盖一些多边形和标记,并清除它们。
我试图遵循与此类似的示例-将多边形/标记推入数组,然后将它们从数组中删除,从而从地图中删除。
但是,当我将多边形或标记推入数组时,生成的数组值始终为“未定义”,尽管我的多边形和标记正确显示在地图上。
注意:我正在使用检票口将 WKT 从我的数据库读取到谷歌地图中。
下面的函数有问题 - 一个 id 被发送到 functions.php,该 ID 的 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);
}
});
}