Google maps api 3 使用编码多段线的多边形中的孔

Google maps api 3 使用编码多段线的多边形中的孔,google-maps-api-3,Google Maps Api 3,关于这一点,我们看到了相互矛盾的文档,但是否可以使用编码的多段线来渲染复杂多边形(带有孔/圆环的多边形) 我认为反转缠绕方向应该可行,但开发人员告诉我们,编码的多段线不支持这一点 非常感谢您的帮助 谷歌地图的路径编码可以是一维数组,而不是二维数组(我的意思是数组是不可能的) 但是,绘制有孔的多边形需要二维数组。 (你可能知道) 所以代码应该是这样的: var exteriorBoundary = google.maps.geometry.encoding.decode("<encoded

关于这一点,我们看到了相互矛盾的文档,但是否可以使用编码的多段线来渲染复杂多边形(带有孔/圆环的多边形)

我认为反转缠绕方向应该可行,但开发人员告诉我们,编码的多段线不支持这一点


非常感谢您的帮助

谷歌地图的路径编码可以是一维数组,而不是二维数组(我的意思是数组是不可能的)

但是,绘制有孔的多边形需要二维数组。 (你可能知道)

所以代码应该是这样的:

var exteriorBoundary = google.maps.geometry.encoding.decode("<encoded polyline string>";
var hole = google.maps.geometry.encoding.decode("<another encoded polyline string>";

var polygon = new google.maps.Polygon({
  paths: [exteriorBoundary, hole],
  map: map,
  ...
});
var exteriorbundary=google.maps.geometry.encoding.decode(“”;
var-hole=google.maps.geometry.encoding.decode(“”;
var polygon=新建google.maps.polygon({
路径:[外部边界,孔],
地图:地图,
...
});

您可能需要分别对内部和外部路径进行编码/解码

var donut = new google.maps.Polygon({
             paths: [google.maps.geometry.encoding.decodePath(encodedOP),
             google.maps.geometry.encoding.decodePath(encodedIP)],
             strokeColor: "#0000FF",
             strokeOpacity: 0.8,
             strokeWeight: 2,
             fillColor: "#FF0000",
             fillOpacity: 0.35
           });
代码片段:

函数初始化(){
变量myOptions={
缩放:7,
中心:新google.maps.LatLng(-33.9151.2),
mapTypeControl:true,
mapTypeControlOptions:{
样式:google.maps.MapTypeControlStyle.DROPDOWN_菜单
},
导航控制:对,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById(“map_canvas”),
肌肽);
var encodedOP=“~a | mEsmnd\\{av@dpEa~s@njRgyo@~l^gxi@|hi@wbb@tpr@abYdyy@eaOfy~@sldzjaarldzjadaofy~@`bYdyy@vbb@tpr@fxi@|hi@fyo@~l^`~s@njRzav@dpEzav@epE`~s@ojRfyo@_m^fxi@}hi@vbb@普遍定期审议@`bYeyy@daOgy~@rlD{jaAslD{jaAeaOgy~@abYeyy@wbb@upr@gxi@}hi@gyo@_硕士~s@ojR{av@epE";
目前,ZPPZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZN n n n n n n n n n n n n n n n n n n'n n'n n n n n n n n n n n n n n n''n n n''n'n n'LLLLLLLLLLLLLLLLLLLLLLLNYWTH”;
var donut=new google.maps.Polygon({
路径:[google.maps.geometry.encoding.decodePath(encodedOP),
google.maps.geometry.encoding.decodePath(encodedIP)
],
strokeColor:#0000FF“,
笔划不透明度:0.8,
冲程重量:2,
fillColor:#FF0000“,
不透明度:0.35
});
甜甜圈设置图(map);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
html,
身体,
#地图画布{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}


Hi,欢迎使用SO。您使用什么语言编程?代码在哪里?JavaScript…extJS框架。您可以提供一个示例吗?您是否尝试过分别对外部边界和内部孔进行编码?