我看了这个answer关于获取多边形的质心,基本上复制了代码。
因为我正在尝试解决同样的问题,即获取多边形的质心,对于给定的示例(百慕大三 Angular 形),它会产生奇迹。
现在,我真的遇到了这个奇怪的错误,或者我真的不知道发生了什么,但我有一个类似的代码,使用我试图获取其质心的多边形。
var bounds = new google.maps.LatLngBounds();
var i;
var polygonCoords = [
new google.maps.LatLng(121.26814396414763 , 14.156734403334724 ),
new google.maps.LatLng(121.2682025135474 , 14.156956159186617 ),
new google.maps.LatLng(121.2673054424065 , 14.15716533202476 ),
new google.maps.LatLng(121.26724861901177 , 14.156951585745787 ),
new google.maps.LatLng(121.26814396414763 ,14.156734403334724 )
];
for (i = 0; i < polygonCoords.length; i++) {
bounds.extend(polygonCoords[i]);
}
console.log(bounds.getCenter());
上面的形状基本上是一个非常小的矩形。但控制台中的输出是:
R {k: 90, B: 14.156949867679714, toString: function, j: function, equals: function…}
纬度是 90,经度是 14.156949867679714,这完全是错误的它甚至不存在,我不知道我真的错过了什么。谢谢!
最佳答案
您拥有向后的纬度和经度(纬度的最大值为 90 度)
var polygonCoords = [
new google.maps.LatLng(14.156734403334724,121.26814396414763),
new google.maps.LatLng(14.156956159186617,121.2682025135474),
new google.maps.LatLng(14.15716533202476,121.2673054424065),
new google.maps.LatLng(14.156951585745787,121.26724861901177),
new google.maps.LatLng(14.156734403334724,121.26814396414763)
];
中心: 纬度:14.156949867679742, 经度:121.26772556627952
关于javascript - 获取多边形的质心不起作用谷歌地图v3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24987590/