swan.chooseLocation
解释: 打开地图选择位置。需要用户授权 scope.userLocation。使用该 API 需通过获取用户权限设置申请授权后方可对用户发起授权申请,可在需授权接口列表中查看相关错误码信息。
方法参数
Object object
object参数说明
属性名 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
success | Function | 否 | 接口调用成功的回调函数 | |
fail | Function | 否 | 接口调用失败的回调函数 | |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success 返回参数说明
参数 | 说明 |
---|---|
name | 位置名称 |
address | 详细地址 |
latitude | 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系,查询指定地点的经纬度方法。 |
longitude | 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系,查询指定地点的经纬度方法。 |
示例
扫码体验
请使用百度APP扫码
图片示例
代码示例
- 在 js 文件中
Page({
chooseLocation() {
swan.authorize({
scope: 'scope.userLocation',
success: res => {
console.log(res);
},
fail: function () {
swan.openSetting({})
}
});
let that = this;
swan.chooseLocation({
success: res => {
console.log('success', res);
let longitude = 'E:' + that.formatLocation(res.longitude) + '′';
let latitude = 'N:' + that.formatLocation(res.latitude) + '′';
that.setData({
'name': res.name,
'address': res.address,
'longitude': longitude,
'latitude': latitude
});
},
fail: err => {
console.log('错误码:' + err.errCode);
console.log('错误信息:' + err.errMsg);
}
});
},
formatLocation(data) {
return data.toFixed(2).replace('.', '°');
}
})