我有一个页面在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能够在以上代码。 –