我有一组纬度和经度点,形成从源到目的地的路线。我使用Leaflet的折线方法来绘制源到目的地之间的路径,但它给出了一条混乱的路径。
var firstpolyline = new L.polyline(latlong, {
color: 'red',
weight: 3,
opacity: 0.5,
smoothFactor: 1
});
firstpolyline.addTo(mym[![enter image description here][1]][1]ap);
上面代码中的latlong是纬度和经度点的数组。但它给出了这样的乱码输出:
但是经纬度点形成了从源到目的地的单一正确路径。我一直在使用折线。我犯了什么错误?我应该使用Leaflet的其他方法吗?
latlong 数组的类型为 L.LatLng(x,y),其中 L 是 Leaflet 对象。这是一个片段:
这是我的错误,折线工作正常。我有一系列未按顺序排列的 latlng。放置有序的经纬度点可以帮助我正确绘制源和目的地之间的路线。
// 1.
var mymap = L.map('mapid').setView([17.387140, 78.491684], 13);
// 2.
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: "© <a href='http://osm.org/copyright'>OpenStreetMap</a> contributors"
}).addTo(mymap);
// 3.
var latlngs = [
[15.89625,80.53544],
[15.89626,80.53542],
[15.89628,80.53536],
[15.89617,80.53539],
[15.89621,80.53547]
];
// 4.
var path = L.polyline.antPath(
latlngs,
{"delay":400,"dashArray":[10,20],"weight":5,"color":"black","paused":true,"reverse":false}
).addTo(mymap);
// 5.
mymap.addLayer(path);
mymap.fitBounds(path.getBounds());