后浪云百度小程序教程:swan.getLocation
- swan.getLocation
- 方法参数
- object 参数说明
- success 返回参数说明
- 示例
- 图片示例
- 代码示例 1
- 图片示例
- 代码示例 2:图示可知 type 属性为 gcj02 的位置更为精准,建议与 swan.openLocation 连用验证
- 方法参数
swan.getLocation
在工具和真机中的实现有区别,详见 API 实现差异。
解释: 获取当前的地理位置、速度。当用户离开智能小程序后,此接口无法调用。使用该 API 需通过获取用户授权设置申请授权后方可对用户发起授权申请,使用 permission 对获取位置信息的用途进行说明,可在 swan.authorize 中查看相关错误码信息。
方法参数
Object object
object 参数说明
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
type |
String |
否 |
wgs84 |
返回 gps 坐标,可选 gcj02 。 wgs84 返回 gps 坐标, gcj02 返回火星坐标, gcj02 比 wgs84 更为精确,所以返回可用于传入 swan.openLocation 的坐标 |
altitude |
Boolean |
否 |
传入 true 会返回高度信息,获取高度需要较高精度且需要打开 gps ,会很耗时,默认没有用 gps |
|
success |
Function |
否 |
接口调用成功的回调函数,返回内容详见返回参数说明 |
|
fail |
Function |
否 |
接口调用失败的回调函数 |
|
complete |
Function |
否 |
接口调用结束的回调函数(调用成功、失败都会执行) |
|
needFullAccuracy |
Boolean |
否 |
false |
针对ios14 以上的新特性,其他情况本参数忽略。默认情况宿主是精确定位就返回精确定位信息。传入 true 会强制使用精确定位信息,ios14以上如果没有精确定位权限,会弹出精确定位授权弹框 |
success 返回参数说明
参数 | 参数类型 | 说明 | Web 态说明 |
---|---|---|---|
latitude |
Number |
纬度,浮点数,范围为 -90~90 ,负数表示南纬 |
|
longitude |
Number |
经度,浮点数,范围为 -180~180 ,负数表示西经 |
|
speed |
Number |
速度,浮点数(单位:m/s) |
|
accuracy |
Number |
位置的精确度 |
|
altitude |
Number |
高度(单位:m) |
|
verticalAccuracy |
Number |
垂直精度(单位:m),Android 无法获取,返回 0 |
|
horizontalAccuracy |
Number |
水平精度(单位:m) |
|
street |
String |
街道名称 |
|
cityCode |
String |
城市编码,更新的行政区域信息数据请参考行政区域数据更新映射关系表 |
|
city |
String |
城市名称 |
|
country |
String |
国家 |
|
countryCode |
String |
国家代码 |
|
province |
String |
省份 |
|
streetNumber |
String |
街道号码 |
|
district |
String |
区 |
|
isFullAccuracy |
Boolean |
是不是精确定位信息 |
始终为 false |
示例
扫码体验
代码示例
请使用百度APP扫码
图片示例
代码示例 1
在开发者工具中打开
在开发者工具中打开
在 WEB IDE 中打开
- SWAN
- JS
<view class="wrap">
<view class="card-area">
<view class="list-area border-bottom" s-for="item in infoList">
<view class="list-item-key-4">{{item.chineseName}}}</view>
<view class="list-item-value">{{item.value}}</view>
</view>
</view>
<view class="swan-security-padding-bottom flex-button">
<button type="primary" bindtap="getLocation">点击获取位置信息</button>
</view>
</view>
图片示例
同一位置下 type 属性为 wgs84 :
同一位置下 type 属性为 gcj02 :
代码示例 2:图示可知 type 属性为 gcj02 的位置更为精准,建议与 swan.openLocation 连用验证
在开发者工具中打开
在开发者工具中打开
在 WEB IDE 中打开
- JS
Page({
getLocation() {
swan.getLocation({
type: 'gcj02',
altitude: true,
success: res => {
console.log('success', res);
swan.openLocation({
latitude: res.latitude,
longitude: res.longitude,
success: res => {
console.log('openLocation success', res);
},
fail: err => {
console.log('openLocation fail', err);
}
});
},
fail: err => {
swan.showToast({title: '获取失败'});
}
});
},
});