1

如果数据在外部文件(geojson)中,如何将坐标从 Leaflet 坐标系转换为 Google 使用的坐标系(WGS-84?)?在使用外部 geojson 文件的示例中,我已经为巴黎和萨格勒布定义了坐标,我正在寻找将这些坐标转换为准确位置的解决方案:)

{
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "id": "par",
            "properties": {
                "name": "Paris"
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    48.858093,
                    2.294694
                ]
            }
        },
        {
            "type": "Feature",
            "id": "zg",
            "properties": {
                "name": "Zagreb"
            },
            "geometry": {
                "type": "Point",
                "coordinates": [
                    45.815399, 
                    15.966568
                ]
            }
        }
    ]
}

有 Proj4js JavaScript 库,但我找不到这种情况的类似示例(带有外部文件)。

4

1 回答 1

0

Leaflet 可以直接使用您的 GeoJSon,而无需转换 lat/lng。

我使用谷歌地图来获取某个点的 GPS 纬度/经度,并在 Leaflet 中使用它们而无需转换。

// 为我编辑 Leaflet 和 Google 地图使用相同的投影。

在此处输入图像描述

//编辑2

网页:

   <div id="map" class="leaflet-container leaflet-fade-anim"></div>

JS:

  var map=L.map( "map" ,{
     center:[0,0],
     zoom:1, minZoom: 1 , maxZoom:18
  });
  var base_maps = [];
  var layer_OSM = new L.TileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    noWrap: true,
    // continuousWorld: true,
    attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',
    unloadInvisibleTiles: true
  });
  base_maps['OpenStreetMap'] = layer_OSM;
  map.addLayer(layer_OSM);



  var markersLayer = new L.FeatureGroup();

  var marker = L.marker([p_lat, p_lon]);

  markersLayer.addLayer(marker);
  map.addLayer(markersLayer);
于 2015-09-02T11:40:18.643 回答