我正在尝试在map.load事件中显示geoJSON数据。 预期结果是地图上的可见标记。 我的代码如下:
var map;
map = L.map('map');
map.on('load',onMapLoad);
map = map.setView([40.712, -74.006], 11);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 19,
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo( map);
function onMapLoad(e) {
var terminals = {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"coordinates": [40.76650157923057, -74.18939838947132],
"type": "Point"
},
"properties": {
"breakbulking": "selective",
"is_destination": true,
"is_origin": true,
"name": "kpn-114"
}
}
]
};
L.geoJSON(terminals, {pointToLayer: function (geoJsonPoint, latlng) {
return L.marker(latlng);
}
}).addTo(map);
}
它可以正确执行,并且控制台中没有错误消息。 但是,地图上没有显示任何标记。 最初,我认为在map.load事件中进行此操作还太初步,但是如果在此功能中在不添加geoJSON的地图上添加标记,则可以。
可能是什么问题?