leafletjs - 折线数组推送错误“未捕获的TypeError:无法读取未定义的属性'长度'”

时间:2014-02-09 01:35:04

标签: javascript json leaflet

我对传单js相当新(大约5个小时前拿起它),这是一个很棒的小工具。我遇到了一个问题,在淘网之后,我想问一下。

我有以下代码:

$.getJSON('json/data/url', function(data) {
        var latlngs = [];
        $.each(data,function(key,value){
            latlngs.push([value.lat, value.lon]);
        });
        var polyline = L.polyline(latlngs, polyline_options).addTo(map);
});
  

示例JSON:[{“lat”:“52.168333333333”,“lon”:“20.967833333333”},{“lat”:“52.164”,“lon”:“20.969333333333”}]

但是我收到以下错误:

  

未捕获的TypeError:无法读取未定义的属性“长度”

我做了一些基本的调试,比如控制台记录var latlngs,它看起来是一个格式正确的数组。

我不知道自己做错了什么。

1 个答案:

答案 0 :(得分:5)

您的数据有纬度和数据经度值作为字符串。他们需要成为数字。要么在数据中输入数字,要么使用parseFloat()将它们转换为Javascript中的数字。