Google Maps API v3 を使用してツールを作成しています。いくつかのポリゴンとマーカーをオーバーレイし、それらをクリアする必要があります。
私はこれに似た例に従おうとしていました-ポリゴン/マーカーを配列にプッシュし、それらを配列から削除してマップを削除します。
ただし、ポリゴンまたはマーカーを配列にプッシュすると、ポリゴンとマーカーはマップ上に正しく表示されますが、結果の配列値は常に「未定義」になります。
注: wicketを使用して、db から Google マップに 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);
}
});
}