如何使用像素坐标在传单中绘制多段线



我的地图已经设置好了,标记也就位了,它工作得很好。我现在想在标记之间添加线条;所以我使用了传单中的代码示例,并添加了几个标记的coords,但地图上没有显示这条线。

var polylinePoints = [
[3474, 12427],
[2298, 11596],
];
var polyline = L.polyline(polylinePoints).addTo(map);

然后我试了这个。。。

var pointA = new L.LatLng(3474, 12427);
var pointB = new L.LatLng(2298, 11596);
var pointList = [pointA, pointB];
var firstpolyline = new L.Polyline(pointList, {
color: 'red',
weight: 3,
opacity: 0.5,
smoothFactor: 1
});
firstpolyline.addTo(map);

但这条线仍然没有显示出来。

问题可能是我使用的是像素坐标,而不是实际的纬度和经度坐标吗?如果是,如何使用像素坐标在标记之间绘制线?

问题可能是我使用的是像素坐标,而不是实际的lat和lng坐标吗?如果是,如何使用像素坐标在标记之间绘制线?

当然。

试试这个:

var pointA = map.layerPointToLatLng(L.point(3474, 12427));
var pointB = map.layerPointToLatLng(L.point(2298, 11596));
var pointList = [pointA, pointB];
var firstpolyline = new L.Polyline(pointList, {
color: 'red',
weight: 3,
opacity: 0.5,
smoothFactor: 1
});
firstpolyline.addTo(map);

不过,接下来您可能会遇到原点的问题,请参阅map.getPixelOrigin()

最新更新