概述
产品简介
WZLocation SDK for uni-app 是维智科技(Wayz)面向 uni-app 生态打造的一站式位置服务 SDK。SDK 深度融合了 Wi-Fi 辅助定位、IP 定位、GPS 定位等多种定位策略,并在此基础上提供逆地理编码、正地理编码、POI 关键词搜索、POI 附近搜索以及坐标系转换等完整的位置服务能力。开发者只需几行代码,即可在 H5、微信小程序及原生 App(Android/iOS)等多端获取高质量的位置信息。
核心能力
1. 多策略融合定位
SDK 内部构建了分层定位决策链路,按优先级自动切换:
- Wi-Fi 辅助定位 — 扫描周边 Wi-Fi 热点信息,上传至 Wayz 定位服务进行三角定位,室内和城市峡谷场景下精度显著优于纯 GPS;
- 原生 GPS/网络定位 — 当 Wi-Fi 扫描不可用时,自动降级为 uni-app 原生定位能力;
- IP 定位 — 作为最终兜底方案,在前两种方式均失败时通过 IP 地址获取大致位置。
定位模式支持单次定位和连续定位(可配置间隔,最低 2 秒),满足从一次性签到到实时轨迹追踪的不同业务需求。
2. 地理编码与逆地理编码
- 逆地理编码(
getReverseCode) — 将经纬度坐标转换为结构化地址(国家/省/市/区/街道/门牌号),同时返回周边 POI 信息及其直线距离; - 正地理编码(
getGeoCode) — 将地址关键词(如 "泛悦城")转换为精确的经纬度坐标。
3. POI 搜索
- 关键词搜索(
poiSearch) — 按名称和城市搜索兴趣点,支持分页查询; - 附近搜索(
poiNearbySearch) — 在指定坐标周边按半径、分类、关键词进行 POI 检索,支持按距离排序。
4. 坐标系转换
内置 WGS84、GCJ02、BD09 三种主流坐标系之间的双向转换算法,并提供校准数据确保转换精度。定位接口支持指定返回坐标系,开发者无需自行处理坐标偏移问题。
平台支持
| 平台 | 支持状态 | 说明 |
|---|---|---|
| H5 / Web | 支持 | 仅 IP/GPS 定位;Chrome 因依赖谷歌服务不支持 |
| App | 支持 | 含 Wi-Fi 辅助定位 |
| 微信小程序 | 支持 | 需配置 requiredPrivateInfos;后台定位需额外权限 |
快速开始
// 1. 导入 SDK
import * as wzLocation from '@/utils/wz_sdk_uniapp.js';
// 2. 初始化(accessKey, deviceId, 是否单次定位, 定位间隔 ms)
wzLocation.initOption("YOUR_ACCESS_KEY", "DEVICE_ID", true, 0);
// 3. 获取位置
wzLocation.getLocation(
(res) => {
console.log(res.longitude, res.latitude); // 经纬度
console.log(res.address.name); // 结构化地址
console.log(res.spatialReference); // 坐标系 (gcj02/wgs84/bd09)
},
(err) => {
console.error(err.code, err.msg); // 错误处理
}
);
API 一览
| 方法 | 功能 | 返回方式 |
|---|---|---|
initOption(ak, deviceId, isOnce, interval) | 初始化 SDK 参数 | — |
setAk(accessKey) | 设置/更新 AccessKey | — |
getLocation(success, error) | 单次/连续定位(GCJ02) | 回调 |
getLocationByCoordinate(sprf, success, error) | 指定坐标系定位 | 回调 |
stopLocation() | 停止所有定位 | — |
getReverseCode(lng, lat, sprf) | 逆地理编码(坐标→地址) | Promise |
getGeoCode(address, city) | 正地理编码(地址→坐标) | Promise |
poiSearch(keyword, city, page, size) | POI 关键词搜索 | Promise |
poiNearbySearch(kw, cat, loc, r, order, page, size) | POI 附近搜索 | Promise |
错误码参考
| 错误码 | 说明 |
|---|---|
| 1001 | 定位权限未开启 |
| 1002 | Wi-Fi 开关未开启 |
| 1003 | 未配置 accessKey |
| 1004 | option 参数未配置 |
| 1005 | 需提供设备唯一 ID |
| 1006 | Wi-Fi 开启失败 |
| 10010 | 定位服务返回失败 |
| 10012 | 坐标系不支持 |
| 10015 | 经纬度为空或无效值 |
| 2001 | 特殊异常 |
