[英]Getting “Uncaught TypeError: Cannot read property 'lat' of undefined” with mapbox and leaflet
[英]Mapbox/Leaflet Javascript : Uncaught TypeError: Cannot read property 'lat' of undefined
我正在尝试构建一个可生成彩色路径(颜色取决于条件)并将其显示在传单地图上的应用。 问题如下。 我有2个功能:一个可以绘制,另一个可以使视图适合绘制区域。 当我只将latlng数组传递给一个数组时,它就完成了工作。 当我将其传递给draw()&fitboduns()的两个函数时,我收到“未捕获的TypeError:无法读取未定义的属性'lat'”错误……是否:(取决于顺序)
我已经尝试了很多事情,这是我的最新代码
注意:Data是L.latLng的数组:data.push(new L.latLng(test [0],test [1]));
function draw(data) {
var singlePath;
singlePath = [];
for (var i = 0; i < data.length; i++) {
singlePath.push(data[i],data[i+1]);
alert ("singlePath=" + singlePath);
var firstpolyline = L.polyline(singlePath, {
//color: pathColor[i] -> Color ARRAY
color : 'blue',
weight: 8,
opacity: 0.5,
smoothFactor: 1
}).addTo(leafmap);
singlePath = [];
}
function bound(data) {
var data_bound =[];
var bounds = (new L.latLngBounds(data));
data_bound.push([bounds.getNorthEast().lat,bounds.getNorthEast().lng]);
data_bound.push([bounds.getSouthWest().lat,bounds.getSouthWest().lng]);
leafmap.fitBounds(data_bound);
}
谢谢您的帮助 !!!
for (var i = 0; i < data.length; i++) {
singlePath.push(data[i],data[i+1]);
该循环以i == data.length - 1
,您引用了data[i + 1]
,这是未定义的。 将循环的条件更改为i < data.length - 1
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.