定位
了解何时使用 HAC 定位功能,并通过 Demo 学会配置命令、查看效果和处理常见问题。
适用场景
定位功能可以获取 PDA 或 Android 设备当前所在的位置,并把经纬度写入活字格页面。
下面这些业务通常会用到定位:
- 现场签到:记录人员签到时所在的位置;
- 巡检打卡:确认巡检人员是否到达指定区域;
- 物流跟踪:记录货物交接、装车或签收的位置;
- 门店拜访:记录业务人员到店时间和位置;
- 异常上报:保存问题发生地点,方便后续处理。
如果只需要让用户填写或选择一个地址,使用普通表单即可。如果需要记录“设备当时在哪里”,则应使用定位命令。
需要注意:定位只能说明设备所在的位置,不能单独证明某个设备、货物或门店已经被真实检查。重要业务还可以配合扫码、拍照等方式进行确认。
功能说明
定位功能通过 HAC 调用 Android 设备的定位能力,取得经纬度,再将结果显示或保存到活字格页面中。
使用前提
- 应用运行在
HAC中;普通浏览器无法调用插件提供的定位命令; - 已安装 PDA / Android 交互命令插件;
- 设备已经开启定位服务,并向 HAC 授予定位权限;
- GPS 信号、基站或 Wi-Fi 定位可用;第一次测试建议在室外进行。
命令选择
插件提供两个定位命令。第一次使用时,可以先选择直接写入单元格的命令;需要完整处理等待、成功和失败状态时,再使用异步命令。
| 命令 | 能做什么 | 适合的情况 |
|---|---|---|
| 【读取地理位置到单元格】 | 将纬度、经度和错误信息直接写入指定单元格 | 配置简单,适合初次使用或简单页面 |
| 【读取地理位置】 | 读取定位结果,并在定位完成后继续处理页面流程 | 适合需要显示等待状态、判断成功或失败的正式业务 |
定位结果通常包含以下内容:
| 中文含义 | 返回字段 | 用途 |
|---|---|---|
| 纬度 | Latitude | 表示南北方向的位置 |
| 经度 | Longitude | 表示东西方向的位置 |
| 是否成功 | IsSuccess | 判断本次定位是否成功 |
| 错误信息 | Error | 定位失败时说明原因 |
坐标系选择
坐标系必须和页面使用的地图一致,否则地图上的定位点可能发生偏移。
| 页面使用的地图 | 选择的坐标系 |
|---|---|
| Google Map 等国外地图 | WGS84 |
| 高德地图、腾讯地图 | GCJ02 |
| 百度地图 | BD09 |
下面的 Demo 使用百度地图,因此命令中的坐标系选择 BD09。
Demo 配置与运行效果
这个 Demo 的操作很简单:用户点击“获取位置信息”,页面显示设备当前的经纬度,并在百度地图上标出位置。
定位结果写入配置
在按钮的命令中选择【读取地理位置】,并把坐标系设置为 BD09:百度地图专用坐标。

与【读取地理位置到单元格】不同,【读取地理位置】不提供纬度、经度或错误信息的目标单元格设置,而是把定位结果返回给页面继续处理。定位成功后,页面根据返回的经纬度更新地图单元格,地图单元格据此显示对应位置;本页不展开地图单元格的 JavaScript 配置。
正式业务可以按下面的流程处理定位结果:
用户点击“获取位置信息”
-> 页面显示“定位中”
-> 执行【读取地理位置】
-> 成功:保存经纬度、坐标系、定位时间和设备信息
-> 失败:显示错误信息,并允许用户重试HAC 运行效果
发布应用后,在已经开启定位权限的 HAC 中打开 Demo,点击“获取位置信息”。第一次定位可能需要等待几秒,请不要连续点击按钮。

定位成功后,页面会显示:
- 当前设备的纬度和经度;
- 根据经纬度生成的百度地图定位点;
- 用于提醒测试人员的室外测试说明。
如果经纬度已经显示,并且地图上的定位点与设备实际位置基本一致,说明定位命令和坐标系已经配置成功。截图中的坐标只是示例,实际结果以测试设备所在位置为准。
常见问题
定位无响应或失败
先检查 HAC 是否取得定位权限,再检查设备的系统定位服务是否已经开启。修正后允许用户重新定位,不要让用户重新填写整张表单。
定位耗时较长
室内、GPS 冷启动或网络较差时,定位可能需要更长时间。页面应显示“定位中”,并暂时禁用定位按钮,避免用户重复点击。必要时可以允许跳过,但要记录跳过原因。
地图位置偏移
优先检查坐标系是否与地图一致:百度地图使用 BD09,高德和腾讯地图使用 GCJ02,Google Map 等国外地图使用 WGS84。
地图未显示
经纬度可能已经读取成功,但网络较差导致地图没有加载。应分别提示“定位结果”和“地图加载状态”,避免用户重复定位。
普通浏览器无法定位
插件命令需要在 HAC 中运行。对于普通浏览器,应隐藏定位入口,或者明确提示“请在 HAC 中使用此功能”。
业务数据记录
用于考勤、巡检、签收等业务时,除了经纬度,还应保存坐标系、定位时间、操作人和设备信息。定位失败时应提供重试或备用流程,例如通过扫码确认现场对象。