leaflet地图坐标偏移问题记录

博客介绍了在使用Leaflet加载ChineseTmsProviders插件时遇到的地图坐标偏移问题,以及如何通过地图纠偏插件leaflet.mapCorrection.min.js来解决这个问题。内容包括插件的使用、不同地图坐标系的介绍,以及纠偏插件的测试效果对比。

leaflet加载各厂地图插件ChineseTmsProviders

ChineseTmsProviders插件可以使leaflet地图通过加载瓦片地图的方式加载不同厂商地图的方式

/* 以vue为例
安装
	npm install leaflet.chinatmsproviders
main.js引入
*/
import 'leaflet.chinatmsproviders/src/leaflet.ChineseTmsProviders.js'

ChineseTmsProviders提供了对高德、百度、谷歌、天地图等的支持页面引入天地图和高德地图

/* 以下是引入了高德和天地图*/
var gaoDe = L.tileLayer.chinaProvider('GaoDe.Normal.Map');
var tianDiTu = L.tileLayer.chinaProvider('TianDiTu.Normal.Map');

此处需要注意,天地图使用WGS-84坐标,高德使用的GCJ-02
具体关于坐标系的问题可移步至 坐标系
这个时候就出现了一个尴尬的问题,在切换底图的时候地图上的覆盖物(点,线,面)等都会有位置偏差,这个也是由于坐标系的不同导致的。

地图纠偏插件[leaflet.mapCorrection.min.js]

经过各种渠道和测试,最后发现了这款地图纠偏插件,亲测有效
git地址

/*
安装
	npm install leaflet.mapCorrection.min.js
也可以直接下载js文件后main.js引入,注意需要再leaflet.js后引入
*/
import '../static/js/leaflet.mapCorrection.min.js'

到此地图偏差的问题基本就ok了,目前只测试了天地图和高德,以下是对比图:

高德图例
在这里插入图片描述
天地图图例
在这里插入图片描述
希望leaflet能把纠偏插件集成一下就好了,常年混迹csdn,如有问题可站内探讨。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值