我有一张地图,可以加载包含两个要素(线条)的GeoJSON。我想使用Leaflet Elevation插件来显示每条线的高程轮廓。我的代码存在的问题是,当我单击某个要素时,没有数据添加到高程配置文件中。
var map = L.map('map').setView([44.635, 22.653], 11);
var osm = L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);
function addData(e) {
var el = L.control.elevation();
el.addData(e);
map.addControl(el);
}
function onEachFeature(feature, layer) {
layer.on({
click: addData
});
}
var trails = new L.GeoJSON.AJAX('https://googledrive.com/host/0B55_4P6vMjhITEU4Ym9iVG8yZUU/map.geojson', {
onEachFeature: onEachFeature
}).addTo(map);
这是我工作的JSFiddle:http://jsfiddle.net/pufanalexandru/eaok0Lnz/3/
答案 0 :(得分:1)
对于任何可能感兴趣的人,我想我找到了实现这个目标的方法:
var trails = new L.GeoJSON.AJAX('https://googledrive.com/host/0B55_4P6vMjhITEU4Ym9iVG8yZUU/map.geojson', {
onEachFeature: function onEachFeature(feature, layer) {
layer.on({
click: function () {
el.clear();
el.addData(feature);
}
});
}
}).addTo(map);