AppInventor2 已原生支持高德坐标(GCS02)体系,支持米级精准定位地图组件绑定位置传感器组件后,如果直接将传感器的经纬度设置给地图,则会出现一定的偏差,比如:因为安卓的定位一般是标准的GPS坐标(WGS84),但是高地地图等国内的地图一般采用 高德坐标(火星坐标 GCS02),那么这2种坐标标准有啥不同,为啥会有多套坐标体系呢?一、两种坐标体系定义1️⃣ GPS 坐标(WGS-84)全称:WGS-84(World Geodetic System 1984)来源:GPS卫星系统原生坐标特点:全球统一标准无偏移(理论真实地理位置)常见来源:GPS芯片海外地图(Google Maps 国际版)后端定位服务2️⃣ 高德坐标(GCJ-02)又叫:火星坐标系(GCJ-02)使用方:高德地图、百度地图(百度在此基础上再加一层偏移)特点:在 WGS-84 基础上加密偏移只在中国大陆范围内生效偏移量大约:100~700 米(不固定)二、为什么会有偏移?这是政策+安全层面的要求:中国法律规定:公开地图必须使用加密坐标(GCJ-02)结果:GPS原始坐标不能直接用于地图展示,必须做一次“加密转换”。高德地图提供了在线api可以进行坐标转换,然后将转换后的坐标给高德地图展示:{"status":"1","info":"ok","infocode":"10000","locations":"112.559509006077,37.802673339844"}
这时坐标就是准确的:

这样转换是没问题的,但是太复杂了,加大了用户的学习成本,且各个组件使用不统一,很难融合,不太可取。因此,我们内置了2套坐标,支持原生转换,通过指定坐标体系,2套坐标系统都进行了支持,默认高德坐标。
// 中文网 www.fun123.cn 已原生支持高德坐标 //地图、位置传感器都加了“坐标系统”属性,默认高德坐标,无需修改,直接内部全部使用高德坐标体系进行计算和通信:内部测试数据供参考:
已经内置坐标转换函数,经测试,精度达标。
121.43975(GPS纬度)
内置坐标转换结果:121.4443625
高德在线api转换:121.444362250435
大概相差2-3厘米,可以忽略不计,业内主流的算法,还是非常准确的。