我试图使用下面的命令遍历一个层锁,在控制台中我只得到输出"0“
for (var i in layer.getLatLngs()){
console.log(i);
}但是,如果我对结果设置了一个div,而不对其进行循环,就会得到数据。
$("#draw_coordinates").text(layer.getLatLngs());上述产出:
LatLng(56.511018, -25.554199),LatLng(53.107217, -21.972656),LatLng(56.848972, -21.09375)我怎样才能穿过拉特龙呢?
理想情况下,我希望将下面的内容作为div中的字符串返回,这是一个列表列表,其中的锁被反转。
[[-25.554199,56.511018],[-21.972656, 53.107217],[-21.09375, 56.848972]]编辑:
使用:-
layer.getLatLngs().forEach(function(latlng, idx){
console.log(latlng);
});在控制台中返回一个数组,我如何才能将锁作为字符串?
Array (4)
0 {lat: 56.05976947910657, lng: -11.162109375, equals: function, toString: function, distanceTo: function, …}
1 {lat: 54.20101023973888, lng: -13.359375000000002, equals: function, toString: function, distanceTo: function, …}
2 {lat: 52.948637884883205, lng: -7.053222656250001, equals: function, toString: function, distanceTo: function, …}
3 {lat: 54.62297813269033, lng: -4.965820312500001, equals: function, toString: function, distanceTo: function, …}
Array Prototype

发布于 2019-12-05 15:32:38
如果使用的是var,则这是一种常见的Javascript行为。
提升是一种JavaScript机制,在代码执行之前,变量和函数声明被移到其作用域的顶部。
这不可避免地意味着,无论函数和变量在何处声明,它们都会移动到其作用域的顶部,而不管它们的作用域是全局的还是本地的。
如果要反转坐标数组顺序,请调用:
let coordinates = layer.getLatLngs()
coordinates.reverse()为了避免"0“问题,应该使用让。
for (let i in coordinates){
let latitude = i.lat;
let longitude = i.lng;
console.log("latitude: " + latitude);
console.log("longitude: " + longitude);
}https://stackoverflow.com/questions/59198193
复制相似问题