清泛IT社区App Inventor 2 中文社区

搜索

扫码访问移动社区 移动社区,您的掌上技术专家

关注我,精彩不错过! 关注我,精彩不错过!

扫码安装最新版AI伴侣 最新版AI伴侣v2.76

Aia StoreApp上架指南 .aia 源码一站式解决方案 发布日志AI2连接测试ai2Starter模拟器

AppInventor2离线版中文教育版接入DeepSeek VIP会员 享专有教程,免费赠送基础版*技术支持服务! AI2入门必读中文文档AI2拓展IoT专题

查看: 9055|回复: 5
打印 上一主题 下一主题

[经验分享] AppInventor2 调用位置传感器在高德地图上显示当前位置存在偏差?需进行坐标转换,原生已支持! ...

  • TA的每日心情
    开心
    昨天 06:34
  • 签到天数: 779 天

    [LV.10]以坛为家III

    1095

    主题

    1839

    帖子

    5万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    52234

    AI2中文网VIP弹球达人接水果达人撸猫达人

    跳转到指定楼层
    楼主
    发表于 2024-05-12 11:02:04 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    使用APP Inventor2 调用手机位置传感器获取到的GPS经纬度, 在高德地图上显示时发现显示的位置不是当前所在位置,原因是坐标格式不一致,需要进行坐标转换,将GPS坐标转换为高德坐标,才能正常的显示当前位置。

    使用以下代码显示我的当前位置及我当前所在位置的静态地图:



    在手机上显示如下,我怎么去湖里了,是坐船去了还是手机定位偏差太大了?都不是,是因为坐标没有经过正确的换算。



    将代码改一改,利用高德的Web API进行坐标转换,更详细的坐标转换方法请去高德官网查看。



    获取坐标转换结果时我们得到的是JSON字符串,利用App inventor的字典很容易进行解析,以下是通过坐标转换API获取的JSON字符串示例:

    1. {"status":"1","info":"ok","infocode":"10000","locations":"112.559509006077,37.802673339844"}
    复制代码

    在手机上查看我的位置已经显示正常:



    以上代码仅为功能示例,如需实际使用需要做一些优化。
    出处:https://blog.csdn.net/xiaowenshen/article/details/106565207

    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.76 支持Android 15 & iOS 更新日志
  • TA的每日心情
    开心
    昨天 06:34
  • 签到天数: 779 天

    [LV.10]以坛为家III

    1095

    主题

    1839

    帖子

    5万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    52234

    AI2中文网VIP弹球达人接水果达人撸猫达人

    沙发
    发表于 前天 20:18 | 只看该作者
    https://restapi.amap.com/v3/assi ... convert?locations=<经度,纬度>&coordsys=gps&output=JSON&key=
    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.76 支持Android 15 & iOS 更新日志
  • TA的每日心情
    开心
    昨天 06:34
  • 签到天数: 779 天

    [LV.10]以坛为家III

    1095

    主题

    1839

    帖子

    5万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    52234

    AI2中文网VIP弹球达人接水果达人撸猫达人

    板凳
    发表于 前天 21:15 | 只看该作者
    标准 GPS 坐标 vs 高德坐标(火星坐标)有什么差异,以及为什么需要转换。这涉及到坐标基准体系(geodetic datum)的问题。

    一、两种坐标体系定义
    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原始坐标不能直接用于地图展示
    必须做一次“加密转换”
    三、直观理解(重点)

    可以把它理解为:

    坐标类型        类比
    WGS-84        真实世界位置
    GCJ-02        被“扰动”的地图坐标

    ???? 如果你直接用 GPS 坐标画在高德地图上:

    结果:点会“漂移”(明显偏离真实位置)
    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.76 支持Android 15 & iOS 更新日志
  • TA的每日心情
    开心
    昨天 06:34
  • 签到天数: 779 天

    [LV.10]以坛为家III

    1095

    主题

    1839

    帖子

    5万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    52234

    AI2中文网VIP弹球达人接水果达人撸猫达人

    地板
    发表于 前天 21:19 | 只看该作者
    包含坐标转换的demo:
    maps_demo.aia (6.74 KB, 下载次数: 2)
    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.76 支持Android 15 & iOS 更新日志
  • TA的每日心情
    开心
    昨天 06:34
  • 签到天数: 779 天

    [LV.10]以坛为家III

    1095

    主题

    1839

    帖子

    5万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    52234

    AI2中文网VIP弹球达人接水果达人撸猫达人

    5#
    发表于 昨天 16:22 | 只看该作者
    已经内置坐标转换函数,经测试,精度达标:121.43975(GPS纬度)
    内置坐标转换结果:121.4443625
    高德在线api转换:121.444362250435
    大概相差2-3厘米,可以忽略不计,业内主流的算法,还是非常准确的。
    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.76 支持Android 15 & iOS 更新日志
  • TA的每日心情
    开心
    昨天 06:34
  • 签到天数: 779 天

    [LV.10]以坛为家III

    1095

    主题

    1839

    帖子

    5万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    52234

    AI2中文网VIP弹球达人接水果达人撸猫达人

    6#
    发表于 昨天 22:15 | 只看该作者
    已原生支持,已升级完成。




    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.76 支持Android 15 & iOS 更新日志
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    © 2026 tsingfun.com, Inc.  沪ICP备2020034476号-1  沪公网安备31011702000040号

    GMT+8, 2026-04-14 04:08 , Processed in 0.024706 second(s), 42 queries .