我有一个带有球形墨卡托投影的简单WMS图层的地图(由 OSM-Mapnik-TileCache 服务器堆栈渲染,一切都在EPSG:900913 / EPSG:3857中)。
首先:我不明白为什么,如果 Leaflet 使用 CRS EPSG:3857,其单位是米,我仍然必须以 WGS84 格式提供坐标,如maxBounds和center,它使用degree。是不是 API 不一致?
第二:我需要渲染一个以 WGS84 坐标 ( EPSG:4326 ) 表示的GeoJSON特征,但形状明显变形(见下图)。我应该将形状从 EPSG:4326 转换为 EPSG:3857 吗?如何?如果我这样做,我将以米为单位表示坐标,而 Leaflet 仍然需要度数。我该如何解决这个问题?
我对 OpenLayers 中的一个简单 wms 层和一个 GeoJSON 覆盖进行了仔细检查,它工作正常,所以我证明数据中没有失真。
有什么线索吗?
这是测试GeoJSON,希望有人能理解问题的原因:
{
"type": "Polygon",
"coordinates": [
[
[14.740017498458682, 40.673078870109705],
[14.740132563378529, 40.673283531348574],
[14.741625561383819, 40.67246759585111],
[14.741671820229074, 40.672308542443076],
[14.74151049646397, 40.672262934612235],
[14.740017498458682, 40.673078870109705]
]
]
}