我有一個頁面在http://www.choptankelectric.com/outages/google/cec_create_xml.html其中有幾個多邊形其中一些包含'甜甜圈'孔應該是透明的,但灰色。谷歌地圖創建甜甜圈多邊形從xml
座標來自一個XML文件,應該像http://www.choptankelectric.com/outages/index.html它採用了非常龐大的包含文件和不雅觀。 XML是從保存在mySQL DB表中的座標生成的。每個多邊形具有polygonID和(在多邊形內的情況下),顯示其中包含它的父外多邊形的字段。
我怎樣才能得到它與透明甜甜圈洞顯示?
的代碼是這樣的:
var phpscript = "cec_create_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++) {
//for (var a = 0; a < 1; a++) {
var Parent = polygons[a].getAttribute("Parent");
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
}
varCECarea = new google.maps.Polygon(polyOptions);
CECarea.bindTo('map',map,'polymap');
}
});
的可能重複(HTTP:// stackoverflow.com/questions/17769380/can-i-force-google-maps-to-draw-polygons-with-overlapping-paths-as-a-union-rathe)(使內部的「洞」的路徑纏繞相反的方向來自外部路徑)。 – geocodezip
我試着倒車內多邊形的,但結果相同的路徑。在http://www.choptankelectric.com/outages/index.html地圖上(正確顯示)內部多邊形數組包含在外部多邊形數組內,但我不知道足夠的JS能夠在以上代碼。 –