繁体   English   中英

如何添加通过Leaflet.Draw创建的Leaflet折线的超链接?

[英]How do you add hyperlinks to Leaflet polylines created via Leaflet.Draw?

我正在使用Leaflet.Draw,我想允许我绘制的线条中包含超链接,以便有人可以点击链接并打开新页面。

如何添加通过Leaflet.Draw创建的折线的链接? 当我将pullLayer添加到drawingItems时,如何为该图层提供另一个可能是URL的属性?

var map = L.map('map').setView([-41.2858, 174.78682], 14);
    mapLink = 
        '<a href="http://openstreetmap.org">OpenStreetMap</a>';
    L.tileLayer(
        'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
        attribution: '&copy; ' + mapLink + ' Contributors',
        maxZoom: 18,
        }).addTo(map);

    var drawnItems = new L.FeatureGroup();
    map.addLayer(drawnItems);

    var drawControl = new L.Control.Draw({
        edit: {
            featureGroup: drawnItems
        }
    });
    map.addControl(drawControl);

    map.on('draw:created', function (e) {
        var type = e.layerType,
            layer = e.layer;
        drawnItems.addLayer(layer);
    });

单击绘制的特征时,以下内容将打开一个新页面:

map.on('draw:created', function (e) {
    var type = e.layerType,
        layer = e.layer;

    layer.on('click', function(){
       window.open('http://www.example.com','_blank');
    });  

    drawnItems.addLayer(layer);
});

这会将弹出窗口与url绑定:

map.on('draw:created', function (e) {
    var type = e.layerType,
        layer = e.layer;

    layer.bindPopup('<a href="http://www.example.com">example</a>');

    drawnItems.addLayer(layer);
});

但不确定你到底是什么意思; 您可能想要在问题中添加更多信息。 通常,'draw:created'回调是您添加此功能的地方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM