这是我在Leaflet中使用的编码:

    var pointA = new L.LatLng(28.635308, 77.22496);
    var pointB = new L.LatLng(28.984461, 77.70641);
    var pointList = [pointA, pointB];

    var firstpolyline = new L.Polyline(pointList {
    color: 'red',
    weight: 3,
    opacity: 0.5
    smoothFactor: 1

    });

    map.addLayer(firstpolyline);


该地图未显示任何结果。我只需要从一个点到另一个点的直线,只是将其可视化即可,而不是大地测量的正确性。点(在传单“圆圈”中)在地图上完美显示。

#1 楼

您的代码是否直接粘贴?如果是这样,

var pointA = new L.LatLng(28.635308, 77.22496);
var pointB = new L.LatLng(28.984461, 77.70641);
var pointList = [pointA, pointB];

var firstpolyline = new L.polyline(pointList {
color: 'red',
weight: 3,
opacity: 0.5
smoothFactor: 1

});


在第5和8行上缺少逗号,第12行使用firstpolyline.addTo(map)。制作

var pointA = new L.LatLng(28.635308, 77.22496);
var pointB = new L.LatLng(28.984461, 77.70641);
var pointList = [pointA, pointB];

var firstpolyline = new L.Polyline(pointList, {
    color: 'red',
    weight: 3,
    opacity: 0.5,
    smoothFactor: 1
});
firstpolyline.addTo(map);


评论


我只能看到一个错误,并且已解决。但是折线仍然没有显示在我的地图上。我究竟做错了什么?

–againstflow
2012年7月19日在9:17

您只是错过了最后一小段代码。折线已正确编码,但并未按照Lealflet的要求将其添加到地图中:firstpolyline.addTo(map);

–user10056
2012年9月7日在16:45

#2 楼




addLayer对我不起作用,必须做.addTo(map)

#3 楼

我使用以下代码在各个位置之间绘制了polyline
var polylinePoints = [
    [37.781814, -122.404740],
    [37.781719, -122.404637],
    [37.781489, -122.404949],
    [37.780704, -122.403945],
    [37.780012, -122.404827]
  ];            
  
  var polyline = L.polyline(polylinePoints).addTo(map);

有关更多详细信息,请关注此链接。

#4 楼




L.polyline(...)中使用小写的“折线”。这会起作用。

#5 楼




如果需要精确的路径(曲线形状),请使用polyline.antPath。