【发布时间】:2015-11-25 20:36:49
【问题描述】:
我正在尝试在 Leaflet 中显示折线,但它似乎不起作用。我错过了什么还是......? p.s.坐标对不包含相同的值,所以它应该产生线...
//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() 与 L.polyline() 并尝试大写和小写 Polyline。我尝试传递 [double, double] 和 [L.LatLng, L.LatLng] 甚至 [{lat:lat,lng:lng}] 的数组,但似乎没有任何效果......我真的必须忽略一个简单的事情......
我正在使用 Leaflet 0.7。
编辑:
如 ghybs 的 jsFiddle 所示,它应该可以工作。我将代码更新为以下内容:
var firstpolyline = L.polyline(d.coordinates, {
color: 'red',
weight: 12
}).addTo(map);
我还在 jsFiddle 和我的解决方案中添加了相同的日志记录语句。
console.log(firstpolyline); //jsFiddle的折线
console.log(map);
console.log(d.coordinates);
那些产生这个(左边是自定义解决方案,不显示一条线,右边是显示一条线的 jsFiddle)。手动将我的解决方案的不同坐标对复制粘贴到 jsFiddle 就可以了...:
我真的迷路了:(
【问题讨论】: