有没有办法使用谷歌地图v3循环遍历多多边形特征来提取每个子多边形,然后使用 containsLocation()找出子多边形内的位置是否与我存储的纬度和经度坐标相匹配?
我希望能够使用这样的循环:
//check if multipolygon
if(e.feature.getGeometry().getType()==='MultiPolygon'){
//loop over sub polygons
var polygons = e.feature.getGeometry().getArray();
polygons.foreach(function(item, index){
//item is our polygon?
var coords = item.getAt(index).getArray();
var poly = new google.maps.Polygon({
paths: coords,
});
//check if the subpolygon contains my latlong
if(google.maps.geometry.poly.containsLocation(myLatLong, poly)){
// do something
}
});
}
但是,它不起作用,因为我不认为“item”实际上是一个多边形?
任何帮助都会帮助我实现这一目标。
最佳答案
我发现问题出在 .getAt(i) 上,它需要是 .getAt(0)
if (e.feature.getGeometry().getType() === 'MultiPolygon' ) {
var array = e.feature.getGeometry().getArray();
array.forEach(function(item,i){
var coords= item.getAt(0).getArray();
var poly = new google.maps.Polygon({
paths: coords
});
if (google.maps.geometry.poly.containsLocation(location, poly)) {
//do something
}
});
}
关于javascript - 循环遍历多边形特征谷歌地图API v 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45622796/