我仔细查看了这个主题:How to get the center of a polygon in google maps v3?,而 Matthew Scharley的答案目前标记为正确并不适合我。我正在从lat / long对象数组中的服务器动态下载50-100个多边形的角坐标,我需要一个动态非手动解决方案来确定多边形中心。来自 furiozo 的同一个线程的答案接近满足我的需求,因为它计算多边形的平均中心,但是我在我的console.log中看到的结果来自他的函数:
google.maps.Polygon.prototype.my_getBounds=function(){
var bounds = new google.maps.LatLngBounds()
this.getPath().forEach(function(element,index){bounds.extend(element)})
return bounds
}
console.log(myPolygon.my_getBounds().getCenter());
不是我可以在我的程序中使用的东西。
我在控制台中得到的是:
_.M {}
lat: function ()
arguments: (...)
caller: (...)
length: 0
name: ""
prototype: Object
__proto__: function ()
<function scope>
Closure
a: 45.256705626
b: -75.91270512
Closure
Global: Window
lng: function() -- contains same sub-levels as lat: function() --
__proto__: Object
我现在真正需要的是如何进入a&amp; b lat / lng值位于lat中的第一个Closure级别下:在我的控制台中的对象中的function()。 (我通过在代码中替换这些结果手动检查,它们代表了我的第一个多边形的正确中心)。任何有关如何到达他们的帮助将不胜感激。
或者,如果有人知道如何动态获取平均多边形中心坐标值的最新解决方案,以便最终结果的格式为(lat,lng),这可能会节省我的一天。 / p>
非常感谢!
答案 0 :(得分:0)
您所看到的是LatLng对象。
您可以执行的操作只需调用其上的lat()
和lng()
函数:
var lat = myPolygon.my_getBounds().getCenter().lat();
var lng = myPolygon.my_getBounds().getCenter().lng();