我正在使用leaflet.js(带有geojson)来显示地图。 [删除一些代码使其更简洁]。
$.getJSON('./api/map/data', function(data){
let minZoom = 2.25
let defaultZoom = 2.25
let map = L.map('map', {
minZoom: minZoom,
zoomSnap: 0.1
}).setView([43, 0], defaultZoom);
let onEachFeature = (feature, layer) => {
var label = L.marker(layer.getBounds().getCenter(), {
icon: L.divIcon({
className: 'countryLabel',
html: feature.properties.name,
iconSize: [0, 0]
})
}).addTo(map);
};
L.geoJson(data, {
clickable: false,
style: {},
onEachFeature: onEachFeature,
}).addTo(map);
我用this website下载了矢量地图。一些标签显然不正确(其中一些几乎正确)。经检查,似乎某些纬度/经度未正确设置(或看起来)。关于如何使此显示正确的任何反馈?如果我能拿出适合国家边界的标签,那就太好了(这意味着可以在需要的地方添加国家代码)。
答案 0 :(得分:0)
问题与您的标签选项有关。此时,您的图标位置指向标签的左上角,您需要设置偏移量以将标签移至坐标中心。可能对您有帮助的财产是iconAnchor
(see leaflet docs)