Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
程序yang
unidocs-zh
提交
fc372dd0
U
unidocs-zh
项目概览
程序yang
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
fc372dd0
编写于
2月 10, 2022
作者:
DCloud-yyl
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update app-geolocation.md
上级
73beb91e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
70 addition
and
13 deletion
+70
-13
docs/app-geolocation.md
docs/app-geolocation.md
+70
-13
未找到文件。
docs/app-geolocation.md
浏览文件 @
fc372dd0
App端定位模块封装系统自带的
`系统定位`
,及市场上主流的三方定位SDK,如
`高德定位`
、
`百度定位`
等,提供JS API统一调用定位功能。
> HBuilderX3.2.16开始独立出“系统定位”模块
|项目类型|API|
|:-|:-|
|uni-app|
[
uni.getLocation(OBJECT)
](
api/location/location?id=getlocation
)
|
|5+ App/Wap2App|
[
plus.geolocation.*
](
https://www.html5plus.org/doc/zh_cn/geolocation.html
)
### 背景
使用定位功能需在项目manifest.json的“App模块配置”中勾选“Geolocation(定位)”,并根据项目实际需求勾选使用的三方定位SDK:
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/geolocation/modules.png
)
从2021年初开始,高德、百度、腾讯等地图服务商更新了服务协议、开始实施商业授权机制,要求除公益App外所有使用地图相关功能(包括定位SDK、地图SDK、H5地图等)都需要获取地图服务商的商业授权。重点强调一下,免费应用同样需要商业授权,除非你的应用是公益类App,其它类型App都需要商业授权。
-
高德地图参考:
[
https://lbs.amap.com/upgrade
](
https://lbs.amap.com/upgrade
)
-
百度地图参考:
[
https://lbsyun.baidu.com/cashier/auth
](
https://lbsyun.baidu.com/cashier/auth
)
没有取得地图服务商授权的App可能会遇到定位或地图功能被停用、上架应用市场可能提示存在侵权的问题,因此需要向高德、百度等地图开放平台申请商业授权。
为了避免商业授权引起的问题,如仅需获取wgs84坐标的情况下也可以只使用“系统定位”模块,“系统定位”在功能和机型适配上没有高德、百度等商业定位服务完善,需开发者根据实际情况选择。
### 系统定位
> HBuilderX3.2.16开始独立出“系统定位”模块
使用
`系统定位`
需在“App模块配置”项的“Geolocation(定位)”下,勾选“系统定位”:
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/geolocation/system.png
)
### 系统定位
系统定位调用的系统提供的定位服务,不同设备对定位功能支持的情况有所差异
`系统定位`
调用设备的操作系统提供的定位服务,只支持wgs84坐标系,不同设备对定位功能支持的情况有所差异。
#### iOS平台
由苹果
公司提供定位服务,可以获取经纬度信息,也支持解析地址信息。
即可以直接返回城市街道信息。
由苹果
iOS系统提供定位服务,可以获取经纬度信息,支持解析地址信息,
即可以直接返回城市街道信息。
#### Android平台
标准Android平台的定位服务是Google提供的,但需要手机内置GMS服务,连接Google服务器。国产手机大多不支持
。
只可以获取经纬度信息,不支持解析地址信息,即无法返回城市街道信息
。
主流国内手机厂商均自行提供了定位服务,但小众品牌可能不支持,主流品牌中较老的机型也不支持。如下Android手机厂商都支持系统定位:
标准Android系统的定位服务是Google提供的,但需要手机内置GMS服务,连接Google服务器。
国内主流手机厂商均自行提供了定位服务,但小众品牌可能不支持,主流品牌中较老的机型也不支持。如下Android手机厂商都支持
`系统定位`
:
-
华为
-
小米
-
Oppo
...
...
@@ -33,7 +39,58 @@
在国外通常都是使用Google的GMS提供定位服务。
**注意:Android系统定位模块不支持位置解析服务,只可以获取经纬度信息,不支持解析地址信息。如需要根据经纬度获取城市街道信息,仍然需要请求高德、百度等商业服务**
> 注意:由于设备厂商适配的原因,在部分Android设备上定位服务可能不稳定,如需提升定位功能的稳定性建议使用`高德定位`或`百度定位`。
### 高德定位
> 需要向高德申请商业授权,参考:[商业授权相关说明](id=business),使用前需登录 [高德开放平台](https://lbs.amap.com/) 创建应用申请Key
使用
`高德定位`
需在“App模块配置”项的“Geolocation(定位)”下,勾选“高德定位”:
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/geolocation/amap.png
)
#### 参数说明
-
appkey_android
[
高德开放平台
](
https://lbs.amap.com/
)
为Android平台申请的Key
-
appkey_ios
[
高德开放平台
](
https://lbs.amap.com/
)
为iOS平台申请的Key
**注意**
调用高德定位SDK提供的定位服务,仅支持gcj02坐标系,支持解析地址信息。
### 百度定位
> 需要向百度申请商业授权,参考:[商业授权相关说明](id=business),使用前需登录 [百度地图开放平台](https://lbsyun.baidu.com/) 创建应用申请访问应用(AK)
使用
`高德定位`
需在“App模块配置”项的“Geolocation(定位)”下,勾选“百度定位”:
![](
https://partner-dcloud-native.oss-cn-hangzhou.aliyuncs.com/images/uniapp/geolocation/baidu.png
)
#### 参数说明
-
appkey_android
[
百度地图开放平台
](
https://lbsyun.baidu.com/
)
为Android平台申请的访问应用(AK)
-
appkey_ios
[
百度地图开放平台
](
https://lbsyun.baidu.com/
)
为iOS平台申请的访问应用(AK)
**注意**
调用百度定位SDK提供的定位服务,仅支持gcj02/bd09/bd09ll坐标系,支持解析地址信息。
<a
id=
"business"
/>
### 商业授权相关说明
从2021年初开始,高德、百度、腾讯等地图服务商更新了服务协议、开始实施商业授权机制,要求除公益App外所有使用地图相关功能(包括定位SDK、地图SDK、H5地图等)都需要获取地图服务商的商业授权。重点强调一下,免费应用同样需要商业授权,除非你的应用是公益类App,其它类型App都需要商业授权。
-
高德地图参考:
[
https://lbs.amap.com/upgrade
](
https://lbs.amap.com/upgrade
)
-
百度地图参考:
[
https://lbsyun.baidu.com/cashier/auth
](
https://lbsyun.baidu.com/cashier/auth
)
没有取得地图服务商授权的App可能会遇到定位或地图功能被停用、上架应用市场可能提示存在侵权的问题,因此需要向高德、百度等地图开放平台申请商业授权。
为了避免商业授权引起的问题,如仅需获取wgs84坐标的情况下也可以只使用“系统定位”模块,“系统定位”在功能和机型适配上没有高德、百度等商业定位服务完善,需开发者根据实际情况选择。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录