我正在尝试在geoJSON
中表示多边形,我正在尝试将path
转换为array
坐标,如下所示:
createCoordinates:function(path)
{
var res=[];
var i=0;
console.log(path.getLength());
for(i=0;i<path.getLength();i++)
{
res.push([path.getAt(i).lat(),path.getAt(i).lng()]);
}
console.log(res);
return res;
}
exportPolygon:function(poly){
var res={};
res.type="Polygon";
console.log(polygon.getPath(poly));
var cone=this.createCoordinates(polygon.getPath(poly));
res.coordinates=cone;
return res;
}
path
看起来像这样:
Ef {j: Array[181], gm_accessors_: Object, length: 181, gm_bindings_: Object, k:
function…}
A: function (b,c){Gd(a.A.ab,function(a,e){e(b,c)})}
D: function (b,c){Gd(a.D.ab,function(a,e){e(b,c)})}
gm_accessors_: Object
gm_bindings_: Object
j: Array[181]
k: function (b){Gd(a.k.ab,function(a,d){d(b)})}
length: 181
__proto__: c
但我获得的长度是0,因此结果是一个空数组。
答案 0 :(得分:1)
你有一个错字。 polygon.getPath()应该是poly.getPath()。 (我希望javascript错误)。
exportPolygon:function(poly){
var res={};
res.type="Polygon";
console.log(poly.getPath(poly));
var cone=this.createCoordinates(poly.getPath(poly));
res.coordinates=cone;
return res;
}