我从上周开始研究传单,这个问题让我很生气。
数据库返回坐标以创建 Leaflet 标记(使用默认 Map.CRS EPSG3857),因此我决定使用 proj4js 将数据库坐标 4326 转换为 3857:
var iarCoordinate = [-76.495207812, 3.429960207],
obSource = new proj4.Proj('EPSG:4326'),
obDest = new proj4.Proj('EPSG:3857'),
obResult = new proj4.Point(iarCoordinate);
proj4.transform(obSource, obDest, obResult);
//obResult = [-8515407.581757482, 382049.6844491562]
这些[-8515407.581757482, 382049.6844491562]不代表正确的点。
如果我反转最初的 4326 坐标 [3.429960207,-76.495207812] 并直接设置为标记,它显示完美(没有任何 proj4 转换)。
1. 为什么这种转换在 Leaflet 上不起作用,或者我应该怎么做才能让它起作用?
2.为什么反转坐标似乎有效?
3.应该如何正确解决问题?