如何解决如何正确地从CVS传单中提取数据在地图上错误显示对象Leaflet.OpenStreetMap
在此代码中,创建了一个地图,并添加了两种地图样式。我使用omnivore方法从cvs中提取数据,但是由于某些原因,所有对象都超出了地图。
var map = L.map('mapid',{ center: [53.19,50.02],zoom: 1,scrollWheelZoom: false });
var controlLayers = L.control.layers( null,null,{
position: "topright",collapsed: false
}).addTo(map);
var light = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png',{
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>,© <a href="https://carto.com/attribution">CARTO</a>'
}).addTo(map);
controlLayers.addBaseLayer(light,'Carto Light basemap');
var terrain = L.tileLayer('https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.png',{
attribution: 'Map tiles by <a href="http://stamen.com">Stamen Design</a>,under <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a>. Data by <a href="http://openstreetmap.org">OpenStreetMap</a>,under <a href="http://www.openstreetmap.org/copyright">ODbL</a>.'
});
controlLayers.addBaseLayer(terrain,'Stamen Terrain basemap');
var customLayer = L.geoJson(null,{
onEachFeature: function(feature,layer) {
layer.bindPopup(feature.properties.Title);
}
});
var runLayer = omnivore.csv('./portals.csv',customLayer)
.on('ready',function() {
map.fitBounds(runLayer.getBounds());
})
.addTo(map);
console.log(runLayer);
有一个选项,它以对象的id_entrance作为坐标并将其显示为lat,lng,我不明白为什么。
cvs看起来像这样:
id_entrance;meetcode;name_ru;name_en;id_station;direction;lat;lon;max_width;min_step;min_step_ramp;lift;lift_minus_step;min_rail_width;max_rail_width;max_angle;escalator;time
14800;1;"шоссе Энтузиастов,кинотеатр ""Факел""";"shosse Entuziastov,cinema ""Fakel""";82;in;55.7516306;37.7162886;740;43;15;0;0;290;690;19;1;203
14801;1;"шоссе Энтузиастов,cinema ""Fakel""";82;out;55.7516306;37.7162886;740;43;10;0;0;350;690;19;1;203
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。