[英]Leaflet not show EPSG:3857 coordinates
我完全坚持我的 WGS 84 / EPSG:3857 坐标并将它们显示在 Leaflet 上。
我有带坐标的 Geojson。
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
"6690861",
"682187"
]
},
"properties": {
"id": "908",
"message": "105",
"date": "",
"place": "",
"shape": ""
}
}
现在我希望它显示在 Leaflet 上。 但什么也没有出现。 我已经搜索了 5 个小时并找到了有关 Proj4 的信息。 也没有出现错误。
我的脚本代码:
var map = L.map('map').setView([52.2129919, 5.2793703], 8); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {attribution: 'Map data © <a href="https://openstreetmap.org">OpenStreetMap</a>'}).addTo(map); // GeoJSON layer (UTM15) proj4.defs('EPSG:3857'); async function addGeoJson() { const response = await fetch("geojs.php"); const data = await response.json(); L.geoJson(data).addTo(map); var layerGroup = L.geoJSON(data, { onEachFeature: function (feature, layer) { layer.bindPopup('<h1>'+feature.properties.message+'</h1><p>Datum: '+feature.properties.date+'</p>'); } }).addTo(map); } addGeoJson();
这是我第一次使用这个坐标。 经纬度坐标没有问题。 刚刚开始使用 javascript。
亲切的问候,
我可能有点晚了,但是按照 Proj4 的文档,我会说您需要将 crs 添加到您的 geojson 中,如下所示:
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
"6690861",
"682187"
]
},
"properties": {
"id": "908",
"message": "105",
"date": "",
"place": "",
"shape": ""
},
"crs": {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:EPSG::3857"
}
}
}
另外,我认为它是L.Proj.geoJson(data).addTo(map);
而不是L.geoJson(data).addTo(map);
我在我的代码上尝试了 L.geoJson 并没有显示任何与 L.Proj.geoJson 相反的内容,所以这可能是你的问题。
兄弟,您已将坐标存储为字符串,您必须将其存储为整数。 把加号(+)符号放在它们上面,这样它就会自动转换为整数。 在显示具有开放层的数据时,我曾经遇到过此类问题。 我们试试看!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.