Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
unidocs-zh
提交
01ab3b18
unidocs-zh
项目概览
DCloud
/
unidocs-zh
通知
3172
Star
105
Fork
804
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
93
列表
看板
标记
里程碑
合并请求
67
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
93
Issue
93
列表
看板
标记
里程碑
合并请求
67
合并请求
67
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
01ab3b18
编写于
2月 15, 2023
作者:
DCloud_Heavensoft
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update open-location.md
上级
30915064
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
76 addition
and
79 deletion
+76
-79
docs/api/location/open-location.md
docs/api/location/open-location.md
+76
-79
未找到文件。
docs/api/location/open-location.md
浏览文件 @
01ab3b18
### uni.openLocation(OBJECT)
使用应用内置地图查看位置。
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|字节跳动小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|√|√|√|x|x|x|
**OBJECT 参数说明**
|参数名|类型|必填|说明|平台差异说明|
|:-|:-|:-|:-|:-|
|latitude|Float|是|纬度,范围为-90~90,负数表示南纬,使用 gcj02 国测局坐标系||
|longitude|Float|是|经度,范围为-180~180,负数表示西经,使用 gcj02 国测局坐标系||
|scale|Int|否|缩放比例,范围5~18,默认为18|微信小程序|
|name|String|否|位置名|支付宝必填|
|address|String|否|地址的详细说明|支付宝必填|
|success|Function|否|接口调用成功的回调函数||
|fail|Function|否|接口调用失败的回调函数||
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
|
**示例**
```
javascript
uni
.
getLocation
({
type
:
'
gcj02
'
,
//返回可以用于uni.openLocation的经纬度
success
:
function
(
res
)
{
const
latitude
=
res
.
latitude
;
const
longitude
=
res
.
longitude
;
uni
.
openLocation
({
latitude
:
latitude
,
longitude
:
longitude
,
success
:
function
()
{
console
.
log
(
'
success
'
);
}
});
}
});
```
**Tips**
-
本API是一个非原子的封装界面,开发者如有定制需求,可自己做页面实现类似功能。
-
若定位不准,参考
[
uni.getLocation文档的注意事项
](
https://uniapp.dcloud.io/api/location/location
)
-
``<map>``
组件默认为国测局坐标,调用
``uni.getLocation``
返回结果传递给
``<map>``
组件时,需指定 type 为 gcj02。
-
App 端使用地图组件需要向高德等三方服务商申请SDK资质,获取AppKey,打包时需要在manifest的SDK配置中填写Appkey。在manifest可视化界面有详细申请指南,详见:
[
https://ask.dcloud.net.cn/article/29
](
https://ask.dcloud.net.cn/article/29
)
。
-
H5 端使用地图和定位相关,需要在 (manifest.json)[/collocation/manifest?id=h5sdkconfig] 内配置腾讯或谷歌等三方地图服务商申请的秘钥(key)。
-
iOS端 如需使用第三方地图进行导航,需要在 manifest.json 文件内增加
``urlschemewhitelist``
节点,在线打包即可
-
不同平台打开的地图不一样,App端是高德地图(不支持百度地图)、H5端是腾讯地图或谷歌地图、微信小程序端是腾讯地图、百度小程序是百度地图、阿里小程序是高德地图、字节跳动小程序是高德地图。
```
json
{
"app-plus"
:
{
"distribute"
:
{
"ios"
:
{
"urlschemewhitelist"
:
[
"baidumap"
,
"iosamap"
,
"qqmap"
]
}
}
}
}
```
<!-- - 点击返回也会进入 `fail` 回调中 -->
### 三方定位和地图服务收费说明
*
使用三方定位或者地图服务,需向服务提供商(如:高德地图、百度地图、腾讯地图、谷歌地图)申请授权或缴纳费用。
*
申请三方定位或地图服务秘钥时请详细阅读授权和收费说明,并关注服务条款后期的变更。
*
以下是关于部分地图服务商授权和收费的简介,具体以地图服务商官网公布的最新信息为准。
*
高德地图:商用授权收费,超出配额收费。
*
百度地图:商用授权收费,超出配额收费。
*
腾讯地图:商用授权收费,超出配额收费。
*
谷歌地图:按量收费,每月可获得一些赠送金额。
*
小程序平台内置地图:无需关心地图服务商,免费使用,无配额限制。
\ No newline at end of file
### uni.openLocation(OBJECT)
使用应用内置地图查看位置。
**平台差异说明**
|App|H5|微信小程序|支付宝小程序|百度小程序|字节跳动小程序、飞书小程序|QQ小程序|快手小程序|京东小程序|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|√|√|√|√|√|√|x|x|x|
**OBJECT 参数说明**
|参数名|类型|必填|说明|平台差异说明|
|:-|:-|:-|:-|:-|
|latitude|Float|是|纬度,范围为-90~90,负数表示南纬,使用 gcj02 国测局坐标系||
|longitude|Float|是|经度,范围为-180~180,负数表示西经,使用 gcj02 国测局坐标系||
|scale|Int|否|缩放比例,范围5~18,默认为18|微信小程序|
|name|String|否|位置名|支付宝必填|
|address|String|否|地址的详细说明|支付宝必填|
|success|Function|否|接口调用成功的回调函数||
|fail|Function|否|接口调用失败的回调函数||
|complete|Function|否|接口调用结束的回调函数(调用成功、失败都会执行)|
|
**示例**
```
javascript
uni
.
getLocation
({
type
:
'
gcj02
'
,
//返回可以用于uni.openLocation的经纬度
success
:
function
(
res
)
{
const
latitude
=
res
.
latitude
;
const
longitude
=
res
.
longitude
;
uni
.
openLocation
({
latitude
:
latitude
,
longitude
:
longitude
,
success
:
function
()
{
console
.
log
(
'
success
'
);
}
});
}
});
```
**Tips**
-
本API是一个非原子的封装界面,开发者如有定制需求,可自己做页面实现类似功能。
-
若定位不准,参考
[
uni.getLocation文档的注意事项
](
https://uniapp.dcloud.io/api/location/location
)
-
``<map>``
组件默认为国测局坐标,调用
``uni.getLocation``
返回结果传递给
``<map>``
组件时,需指定 type 为 gcj02。
-
App 端使用地图组件需要向高德等三方服务商申请SDK资质,获取AppKey,打包时需要在manifest的SDK配置中填写Appkey。在manifest可视化界面有详细申请指南,详见:
[
https://ask.dcloud.net.cn/article/29
](
https://ask.dcloud.net.cn/article/29
)
。
-
H5 端使用地图和定位相关,需要在 (manifest.json)[/collocation/manifest?id=h5sdkconfig] 内配置腾讯或谷歌等三方地图服务商申请的秘钥(key)。
-
iOS端 如需使用第三方地图进行导航,需要在 manifest.json 文件内增加
``urlschemewhitelist``
节点,在线打包即可
-
不同平台打开的地图不一样,App端是高德地图(不支持百度地图)、H5端是腾讯地图或谷歌地图、微信小程序端是腾讯地图、百度小程序是百度地图、阿里小程序是高德地图、字节跳动小程序是高德地图。
```
json
{
"app-plus"
:
{
"distribute"
:
{
"ios"
:
{
"urlschemewhitelist"
:
[
"baidumap"
,
"iosamap"
,
"qqmap"
]
}
}
}
}
```
<!-- - 点击返回也会进入 `fail` 回调中 -->
### 三方定位和地图服务收费说明
使用三方定位或者地图服务,需向服务提供商(如:高德地图、百度地图、腾讯地图、谷歌地图)申请商业授权和缴纳费用(5万/年)。
DCloud为开发者争取了福利,可优惠获取高德的商业授权。如有需求请发邮件到
`bd@dcloud.io`
(注明你的公司名称、应用介绍、HBuilder账户);你也可以直接通过
`uni-im`
发起在线咨询,在线咨询地址:
[
DCloud地图服务专员
](
https://im.dcloud.net.cn/#/?user_id=b9839630-a479-11ea-b772-0f6ad6cf835c
)
。
详见:
[
https://uniapp.dcloud.net.cn/tutorial/app-geolocation.html#lic
](
https://uniapp.dcloud.net.cn/tutorial/app-geolocation.html#lic
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录