我试图在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只是起作用......:
我真的迷失在这里:(
答案 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]]
)进行分配