繁体   English   中英

Leaflet 不显示 EPSG:3857 坐标

[英]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 &copy; <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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM