【问题标题】:Leaflet.Snap can't snap a polyline to guideLayerLeaflet.Snap 无法将折线捕捉到 guideLayer
【发布时间】:2017-10-05 08:55:49
【问题描述】:

在绘制新的折线时,我尝试在 guideLayer 上捕捉折线点。当我接近 guideLayer 时,我的鼠标会捕捉到它,但我无法在 guideLayer 上添加新点。

我的地图和控件声明如下:

var mymap = L.map('map').setView([46.658, 7.011], 14);
var drawnItems = new L.FeatureGroup();         
var mymap.addLayer(this.drawnItems);
var tracksGeoJson = L.geoJSON(listTracks).addTo(mymap);
var guideLayers = [tracksGeoJson];

var drawControl = new L.Control.Draw();
var drawControl.initialize({
    edit: {
        featureGroup: drawnItems 
        },
    draw: {
        polygon: false,
        circle: false,
        rectangle: false,
        marker: false,
        polyline: {guideLayers: display.guideLayers, snapDistance: 10}
    }
});
mymap.addControl(this.drawControl);      

我正在使用 Leaflet v1.0.3、Leaflet.draw v0.49 和 Leaflet.Snap v0.0.4。

【问题讨论】:

    标签: javascript leaflet leaflet.draw


    【解决方案1】:

    我找到了!

    “snapDistance”选项不适用于折线。所以新的drawControl初始化是:

    var drawControl = new L.Control.Draw();
    var drawControl.initialize({
        edit: {
            featureGroup: drawnItems 
            },
        draw: {
            polygon: false,
            circle: false,
            rectangle: false,
            marker: false,
            polyline: {guideLayers: display.guideLayers}
        }
    });
    mymap.addControl(this.drawControl);
    

    现在我可以在其他折线上添加折线点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-29
      • 2018-12-01
      • 1970-01-01
      • 2017-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-28
      相关资源
      最近更新 更多