开发笔记——使用gcoord转换坐标--WGS84坐标转化为高德GCJ02坐标

地球上同一个地理位置的经纬度,在不同的坐标系中,会有少于偏移,国内目前常见的坐标系主要分为三种:

  1. 地球坐标系——WGS84:常见于 GPS 设备,Google 地图等国际标准的坐标体系。
  2. 火星坐标系——GCJ-02:中国国内使用的被强制加密后的坐标体系,高德坐标就属于该种坐标体系。
  3. 百度坐标系——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 如果分不清当前坐标系是哪一种,可以用高德坐标拾取器和百度坐标拾取器查验坐标的位置。

posted @ 2022-07-20 09:56  前进中的蜗牛  阅读(1078)  评论(0编辑  收藏  举报