开发笔记——使用gcoord转换坐标--WGS84坐标转化为高德GCJ02坐标
地球上同一个地理位置的经纬度,在不同的坐标系中,会有少于偏移,国内目前常见的坐标系主要分为三种:
- 地球坐标系——WGS84:常见于 GPS 设备,Google 地图等国际标准的坐标体系。
- 火星坐标系——GCJ-02:中国国内使用的被强制加密后的坐标体系,高德坐标就属于该种坐标体系。
- 百度坐标系——BD-09:百度地图所使用的坐标体系,是在火星坐标系的基础上又进行了一次加密处理。
方法一:使用高德api转化
var gps = [116.3, 39.9]; AMap.convertFrom(gps, 'gps', function (status, result) { if (result.info === 'ok') { var lnglats = result.locations; // Array.<LngLat> } });
使用高德api进行转化,个人开发者是限制每日转化次数的,需要提额或是转为企业认证
方法二:gcoord转化
安装gcoord
npm install gcoord --save
//或者直接引入
<script src="https://unpkg.com/gcoord/dist/gcoord.js"></script>
转换坐标
var result = gcoord.transform( [116.403988, 39.914266], // 经纬度坐标 gcoord.WGS84, // 当前坐标系 gcoord.GCJ02 // 目标坐标系 );
坐标系:WGS84、BD09、GCJ02 如果分不清当前坐标系是哪一种,可以用高德坐标拾取器和百度坐标拾取器查验坐标的位置。