我将coordinates
作为
25.774252, -80.190262
18.466465, -66.118292
32.321384, -64.75737
我必须维护一个类似
的数组 Coordinates[] = [(25.774252, -80.190262),(18.466465, -66.118292),(32.321384, -64.75737)]
这怎么可能?或者还有其他方法可以逐点获得纬度和经度吗?
我试过了,
for(var i = 0 ; i < polygonBounds.length ; i++)
{
coordinates.push(polygonBounds.getAt(i).lat(), polygonBounds.getAt(i).lng());
}
但它会像,
0
31.796473239688435
1
-106.51227951049805
2
31.797786324219413
3
-106.49425506591797
4
31.78392504670159
5
-106.47829055786133
6
31.757509914027327
7
-106.48704528808594
8
31.776191009772532
9
-106.52069091796875
10
31.790782991145434
11
-106.5208625793457
所以现在我有了这个数组,我需要通过循环相同的数组来获取每个纬度和经度。怎么可能?
答案 0 :(得分:1)
你试过了吗?
for(var i = 0 ; i < polygonBounds.length ; i++)
{
coordinates.push([polygonBounds.getAt(i).lat(), polygonBounds.getAt(i).lng()]);
}
(注意'['和']')?
答案 1 :(得分:1)
如果你想推对,推一个数组:
for (var i = 0; i < polygonBounds.length; i++) {
coordinates.push([polygonBounds.getAt(i).lat(), polygonBounds.getAt(i).lng()]);
}
这将是:
的缩写for (var i = 0; i < polygonBounds.length; i++) {
var coords = [];
coords.push(polygonBounds.getAt(i).lat());
coords.push(polygonBounds.getAt(i).lng());
coordinates.push(coords);
}
答案 2 :(得分:0)
(25.774252, -80.190262)
不是有效值,因此无法存储在数组中。
您必须使用数组或对象而不是它。
[25.774252, -80.190262]
或{lat: 25.774252, lng: -80.190262}
答案 3 :(得分:0)
尝试
for(var i = 0 ; i < polygonBounds.length ; i++)
{
var obj = {};
obj.x = polygonBounds.getAt(i).lat();
obj.y = polygonBounds.getAt(i).lng();
coordinates.push(obj);
}
并获取var some = coordinates[0].x;
答案 4 :(得分:0)
您需要的是一个对象数组,其中每个对象都存储两个属性
var coordinates = [];
for(var i=0; i<polybounds.length; i+=2) {
coordinates.push({ lat: polybounds[i], long: polybounds[i+1] });
}
现在你可以在坐标上做任何事情,比如
for(var i=0; i<coordinates.length; i+=2) {
var long = coordinates[i].long;
var lat = coordinates[i].lat;
console.log(lat + ',' + long);
}