for (var f=0; f<group.length; f++) {
var longitude = group[f][1];
var latitude = group[f][0];
var popupText = group[f][2];
var markerLocation = new L.LatLng(longitude,latitude);
var marker = new L.Marker(markerLocation);
mymap.addLayer(marker);
marker.bindPopup(popupText);
}
我的群组数据采用这种格式
[0]
[0]53.522753
[1]-1.126298
[2]ASB
我的控制台正在说
Uncaught Error: Invalid LatLng object: (undefined, 53.522731)
at new M (leaflet.js:5)
at create_marker (hello.html:212)
at JSON_callback (hello.html:169)
at XMLHttpRequest.xmlhttp.onreadystatechange (requests.js:26)
设置组
var group = [];
var n = 3;
for (var i = 0, j = 0; i < current_lat_lng.length; i++) {
if (i >= n && i % n === 0)
j++;
group[j] = group[j] || [];
group[j].push(current_lat_lng[i])
}
我认为对象是正确的?但我不确定为什么会这样。感谢任何帮助。
答案 0 :(得分:1)
尝试以下方法:
for (var f=0; f<group.length; f++) {
var longitude = group[f][1];
var latitude = group[f][0];
var popupText = group[f][2];
if (longitude && latitude && popupText) {
L.marker([latitude, longitude]).bindPopup(popupText).addTo(mymap);
} else {
console.error('group[' + f + '] has invalid entries:');
console.error('longitude', longitude);
console.error('latitude', latitude);
console.error('popupText', popupText);
}
}