如何从数组中获取坐标?
How to get coordinates from array?
我有一个带有一些坐标的数组
coords = [];
console.log(coords);
给我
[]
0: "45.461,9.177"
1: "40.85150386578784,14.258907499999964"
2: "45.46135436613811,9.175124650000043"
现在我需要根据这些坐标绘制标记,并将纬度和经度放置在 2 个不同的输入字段中,所以我这样做:
for (var i = 0; i < coords.length; i++) {
console.log(coords[i]);
var circle = new L.CircleMarker([coords[i]]);
circles.addLayer(circle);
circle.on('click', function (e) {
var curPos = e.target.getLatLng();
$("#longiTude").val(curPos.lat);
$("#latiTude").val(curPos.lng);
submitSearchForm();
});
}
但这给了我以下错误
Projection.SphericalMercator.js:18 Uncaught TypeError: Cannot read
property 'lat' of null
如果我这样做console.log(圆圈);它给了我
NewClass {options: {…}, _latlng: null, _radius: 10, _initHooksCalled: true}
options:
__proto__: Object
_events:
click: [{…}]
__proto__: Object
_initHooksCalled: true
_latlng: null
_radius: 10
__proto__: NewClass
这看起来不是在读取数组中的坐标 var circle = new L.CircleMarker([coords[i]]);
我尝试在没有 []
的情况下执行 var circle = new L.CircleMarker(coords[i]);
但出现了同样的错误
coords
包含如下字符串:
"45.461,9.177"
但看起来 L.CircleMarker
需要一个数组。您可以将逗号上的字符串拆分为 CircleMarker
一个值数组:
L.CircleMarker(coords[i].split(','))
我有一个带有一些坐标的数组
coords = [];
console.log(coords);
给我
[]
0: "45.461,9.177"
1: "40.85150386578784,14.258907499999964"
2: "45.46135436613811,9.175124650000043"
现在我需要根据这些坐标绘制标记,并将纬度和经度放置在 2 个不同的输入字段中,所以我这样做:
for (var i = 0; i < coords.length; i++) {
console.log(coords[i]);
var circle = new L.CircleMarker([coords[i]]);
circles.addLayer(circle);
circle.on('click', function (e) {
var curPos = e.target.getLatLng();
$("#longiTude").val(curPos.lat);
$("#latiTude").val(curPos.lng);
submitSearchForm();
});
}
但这给了我以下错误
Projection.SphericalMercator.js:18 Uncaught TypeError: Cannot read property 'lat' of null
如果我这样做console.log(圆圈);它给了我
NewClass {options: {…}, _latlng: null, _radius: 10, _initHooksCalled: true}
options:
__proto__: Object
_events:
click: [{…}]
__proto__: Object
_initHooksCalled: true
_latlng: null
_radius: 10
__proto__: NewClass
这看起来不是在读取数组中的坐标 var circle = new L.CircleMarker([coords[i]]);
我尝试在没有 []
的情况下执行 var circle = new L.CircleMarker(coords[i]);
但出现了同样的错误
coords
包含如下字符串:
"45.461,9.177"
但看起来 L.CircleMarker
需要一个数组。您可以将逗号上的字符串拆分为 CircleMarker
一个值数组:
L.CircleMarker(coords[i].split(','))