http://www.noosawaters.org/Google/noosawaters_xml.htmlに、より高いズーム レベルで削除したい 2 つのポリゴンを含むページがあります。ポリゴンは、mySQL DB テーブルに保持されている座標から生成されます。php は、必要な xml ツリーを作成します。
ただし、私のコードでは、ポリゴンの 1 つだけを削除します。
var phpscript = "noosawaters_xml.php"; // creates xml data for polygons
downloadUrl(phpscript, function(data) {
var polygons = data.documentElement.getElementsByTagName("polygon");
for (var a = 0; a < polygons.length; a++) {
var strokeColor = polygons[a].getAttribute("strokeColor");
var strokeOpacity = polygons[a].getAttribute("strokeOpacity");
var strokeWeight = polygons[a].getAttribute("strokeWeight");
var fillColor = polygons[a].getAttribute("fillColor");
var fillOpacity = polygons[a].getAttribute("fillOpacity");
var pts = [];
var points = polygons[a].getElementsByTagName("point");
for (var i = 0; i < points.length; i++) {
pts[i] = new google.maps.LatLng(parseFloat(points[i].getAttribute("lat")),
parseFloat(points[i].getAttribute("lng")));
}
var polyOptions = {
paths: pts,
strokeColor: strokeColor,
strokeOpacity: strokeOpacity,
strokeWeight: strokeWeight,
fillColor: fillColor,
fillOpacity: fillOpacity
}
var this_polygon = a + 1;
var NoosaWaters = "NoosaWaters" + this_polygon;
NoosaWaters = new google.maps.Polygon(polyOptions);
NoosaWaters.setMap(map);
google.maps.event.addListener(map, "zoom_changed", function() {
if (map.getZoom() > 18){
NoosaWaters.setMap(null);
}
else{
NoosaWaters.setMap(map);
}
});
}
});