我使用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: '© ' + 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);
});
答案 0 :(得分:3)
单击绘制的特征时,以下内容将打开一个新页面:
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);
});
但不确定你到底是什么意思;您可能想要在问题中添加更多信息。一般来说,&#39; draw:created&#39;回调是您添加此功能的地方。