阅读(3026)
赞(8)
百度智能小程序 宿主App内置地图查看位置
2020-08-18 15:56:44 更新
swan.openLocation
解释:使用宿主 App 内置地图查看位置。
方法参数
Object object
object 参数说明
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
latitude | Number | 是 | 纬度,范围为 -90~90 ,负数表示南纬。 | |
longitude | Number | 是 | 经度,范围为 -180~180 ,负数表示西经。 | |
scale | Number | 否 | 缩放比例,范围 5~18 ,默认为 18 。 | |
name | String | 否 | 位置名 | |
ignoredApps | Array | 否 | 定义在拉起的地图 App 面板中需要被屏蔽的地图类 App 。 | |
address | String | 否 | 地址的详细说明 | |
success | Function | 否 | 接口调用成功的回调函数 | |
fail | Function | 否 | 接口调用失败的回调函数 | |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
ignoredApps 参数说明
值 | 类型 | 说明 |
---|---|---|
GaodeMap | String | 当用户手机端安装了高德地图应用时,openLocation 打开地图点击路线拉起的支持地图应用列表中将包含高德地图,可以在 ignoredApps 数组中传入该值用以屏蔽面板中的高德地图应用。 |
AppleMap | String | ios 用户调用 openLocation 打开地图,点击路线拉起的支持地图应用列表中将包含苹果地图,可以在 ignoredApps 数组中传入该值用以屏蔽面板中的苹果地图应用。 |
示例
图片示例
代码示例:
<view class="wrap">
<view class="card-area">
<view class="list-area border-bottom">
<view class="list-item-key-4">经度</view>
<view class="list-item-value">116°27′</view>
</view>
<view class="list-area border-bottom">
<view class="list-item-key-4">纬度</view>
<view class="list-item-value">40°04′</view>
</view>
<view class="list-area border-bottom">
<view class="list-item-key-4">缩放比例</view>
<view class="list-item-value">{{locationInfo.scale}}</view>
</view>
<view class="list-area border-bottom">
<view class="list-item-key-4">位置名称</view>
<view class="list-item-value">{{locationInfo.name}}</view>
</view>
<view class="list-area border-bottom">
<view class="list-item-key-4">地址</view>
<view class="list-item-value">{{locationInfo.address}}</view>
</view>
<view class="button-group">
<button class="button" bindtap="openLocation" type="primary" loading="{{loading}}">查看位置地图</button>
</view>
</view>
</view>
Page({
data: {
title: 'openLocation',
loading: false,
locationInfo: {
latitude: 40.04,
longitude: 116.27,
scale: 18,
name: '百度科技园',
address: '北京市海淀区西北旺东路10号院'
}
},
openLocation () {
let locationInfo = this.data.locationInfo;
swan.openLocation({
latitude: locationInfo.latitude,
longitude: locationInfo.longitude,
scale: 18,
name: locationInfo.name,
address: locationInfo.address,
success: res => {
console.log('openLocation success', res);
},
fail : err => {
swan.showToast({
title: '检查位置权限',
icon: 'none'
})
console.log('openLocation fail', err);
}
});
}
});
Page({
data: {
title: 'openLocation',
loading: false,
locationInfo: {
latitude: 40.04,
longitude: 116.27,
scale: 18,
name: '百度科技园',
address: '北京市海淀区西北旺东路10号院'
}
},
openLocation () {
let locationInfo = this.data.locationInfo;
swan.openLocation({
latitude: locationInfo.latitude,
longitude: locationInfo.longitude,
scale: 18,
name: locationInfo.name,
address: locationInfo.address,
success: res => {
console.log('openLocation success', res);
},
fail : err => {
swan.showToast({
title: '检查位置权限',
icon: 'none'
})
console.log('openLocation fail', err);
}
});
}
});
错误码
iOS
错误码 | 说明 |
---|---|
202 | 解析失败,请检查参数是否正确。 |
常见问题
Q:百度小程序支持导航吗?或是支持调起其它导航 APP ?
A:不支持导航,可以使用 openLocation 打开宿主 app 内置的地图导航。