传单折线不起作用

时间:2015-11-25 01:51:37

标签: leaflet polyline

我试图在Leaflet中展示Polylines,但它似乎不起作用。我错过了什么或......?附:坐标对包含相同的值,因此它应该产生线...

//this adds markers to the map, which works
var d = {};
d.coordinates = [[lat,lng],[lat,lng]]

var latLngs = d.coordinates.map(function (c) {
    var marker = L.marker(c).addTo(map);
    return {
        lat: c[0],
        lng: c[1]
    };
});

//This 'should' add polylines but doesn't ... 
var polyline = L.polyline(d.coordinates, { color: 'red', weight: 12 }).addTo(map);

我在上面的代码中尝试了各种各样的变体,因为实例化/工厂方法如:new L.polyline() vs L.polyline()并尝试大写和小写 P olyline。我尝试传递[double, double][L.LatLng, L.LatLng]甚至[{lat:lat,lng:lng}]的数组,但似乎没有任何作用......我真的必须忽略一个简单的事情......

我使用的是Leaflet 0.7。

修改

如gsFiddle所示,ghybs应该有效。我将我的代码更新为以下内容:

var firstpolyline = L.polyline(d.coordinates, {
    color: 'red',
    weight: 12
}).addTo(map);

我还在jsFiddle和我的解决方案中添加了相同的日志记录语句。

  

的console.log(firstpolyline); // jsFiddle的折线

     

的console.log(地图);

     

的console.log(d.coordinates);

那些产生这个(左边是自定义解决方案,显示一条线,右边是显示一条线的jsFiddle)。手动将我的解决方案的不同坐标对复制粘贴到jsFiddle只是起作用......:

我真的迷失在这里:(

enter image description here

1 个答案:

答案 0 :(得分:0)

没有理由在出厂.polyline之后添加额外的L.polyline()

var polyline2 = L.polyline(d.coordinates, {color: 'red', weight: 12}).addTo(map);

演示:http://jsfiddle.net/ve2huzxw/48/

附注:您应该在=

中使用单个等号(d.coordinates == [[lat,lng],[lat,lng]])进行分配
相关问题