Google maps api 3 来自Google Maps多边形getPath()的LatLng
基于,Google maps api 3 来自Google Maps多边形getPath()的LatLng,google-maps-api-3,Google Maps Api 3,基于,google.maps.Polygon类的getPath()函数返回一个MVCArray。在简单的情况下,多边形的路径可以是latlng的单个数组,这些数组在传递到google.maps.Polygon类的setPath()函数时转换为MVCArray类型 上述案例就是我目前正在处理的。我传入一个latlng数组,并在对多边形对象调用getPath()时返回一个MVCObject。我的问题是:如何将这个MVCObject转换回一个构成多边形形状的latlng数组?是否有一些内置的谷歌地图A
google.maps.Polygon
类的getPath()
函数返回一个MVCArray
。在简单的情况下,多边形的路径可以是latlng
的单个数组,这些数组在传递到google.maps.Polygon类的setPath()
函数时转换为MVCArray
类型
上述案例就是我目前正在处理的。我传入一个latlng
数组,并在对多边形对象调用getPath()
时返回一个MVCObject
。我的问题是:如何将这个MVCObject
转换回一个构成多边形形状的latlng
数组?是否有一些内置的谷歌地图API v3的方式,我错过了?我觉得必须有某种明显的内置转换函数或API中的某些东西让我难以理解
任何帮助都将不胜感激。当您调用
Polygon.getPath()
时,返回的是表示多边形的第一条路径的LatLng
实例的MVCArray
。您可以通过两种方式直接访问MVCAarray
的成员:
调用MVCAarray.getArray
,它将返回包含LatLng
成员的底层JavaScriptArray
使用MVCArray.getAt(index)
,它将返回MVCArray
中该索引处的任何内容(在本例中为LatLng
)。这提供了一种为
循环设置JavaScript的方法,以迭代数组的成员
您还可以使用forEach(callback:function(*,number))
函数间接处理MVCArray的成员。在这种情况下,必须传递接受两个参数的回调函数:
MVCArray
的实际成员元素
该元素所在的数组索引李>
var polygonBounds=polygon.getPath();
var界限=[];
对于(var i=0;i
有没有办法获得LngLat而不是LatLong(geoJson坐标)?您能解释一下为什么以及这段代码如何回答OP的问题吗?您可以使用lat和lng获得json数组中多边形的所有路径
var polygonBounds = polygon.getPath();
var bounds = [];
for (var i = 0; i < polygonBounds.length; i++) {
var point = {
lat: polygonBounds.getAt(i).lat(),
lng: polygonBounds.getAt(i).lng()
};
bounds.push(point);
}