背景
互联网坐标系的现状:
1. 地球坐标 (WGS84)
国际标准,从GPS设备中取出的数据的坐标系
国际地图提供商使用的坐标系
2. 火星坐标 (GCJ-02) 也叫国测局坐标系中国标准,从国行移动设备中定位获取的坐标数据使用这个坐标系
国家规定: 国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。
3. 百度坐标 (BD-09)百度标准,百度 SDK,百度地图,Geocoding 使用
百度在火星坐标上来了个二次加密设备与坐标系的关系
1. 从设备获取经纬度(GPS)坐标
百度SDK,可以获取百度坐标(bd09,默认)或者火星坐标(GCJ02)
IOS原生定位库,可以获取WGS84坐标
高德SDK,可以获取GCJ02坐标
2. 互联网在线地图使用的坐标系- 火星坐标系:
ios地图(其实是高德)
Google国内地图(.cn域名下)
搜搜、阿里云、高德地图、腾讯
- 百度坐标系:百度地图
- WGS84坐标系:Google国外地图
osm地图等国外地图
coordtransform
1.下载coordtransform:
cnpm i -S coordtransform
2.引入
import coordtransform from 'coordtransform';
坐标转换
console.log('转换前坐标:(104, 39)');//百度经纬度坐标转国测局坐标console.log('bd09togcj02:', coordtransform.bd09togcj02(104, 39));//国测局坐标转百度经纬度坐标console.log('gcj02tobd09', coordtransform.gcj02tobd09(104, 39));//wgs84转国测局坐标console.log('wgs84togcj02', coordtransform.wgs84togcj02(104, 39));//国测局坐标转wgs84坐标console.log('gcj02towgs84', coordtransform.gcj02towgs84(104, 39));