You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:Leaflet中GeoJSON与Polyline用相同坐标为何位置不同

Leaflet Polyline 位置偏移问题解决办法

嘿,我帮你排查出问题啦!这个是Leaflet新手很容易踩的一个小坑——坐标顺序搞混了。

问题根源

Leaflet里两种坐标体系的顺序是不一样的:

  • GeoJSON 遵循标准的OGC规范,坐标顺序是 [经度(longitude), 纬度(latitude)]
  • Leaflet 原生的 Polyline/Marker 等类,要求的坐标顺序是 [纬度(latitude), 经度(longitude)]

你写的Polyline代码里,用了和GeoJSON一样的[lon, lat]顺序,导致系统把纬度当成了经度、经度当成了纬度,自然就显示到错误的位置了。

修正后的代码

你原来的Polyline代码:

L.polyline([[-73.99157, 40.73243], [-73.99157, 40.75243]], {color: 'black'}).addTo(map);

只需要把每一组坐标的顺序调换,改成[lat, lon]就可以了:

L.polyline([[40.73243, -73.99157], [40.75243, -73.99157]], {color: 'black'}).addTo(map);

验证效果

修正之后,这条黑色的Polyline就会和另外两条GeoJSON的线完全重合啦,你可以试试~

内容的提问来源于stack exchange,提问作者tsu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 09:16:37