http://www.choptankelectric.com/outages/google/cec_create_xml.htmlにページがあり、いくつかのポリゴンには、透明であるはずの「ドーナツ」の穴が含まれていますが、グレー表示されています。
座標は 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');
}
});