swan.chooseLocation

解释: 打开地图选择位置。需要用户授权 scope.userLocation。使用该 API 需通过获取用户授权设置申请授权后方可对用户发起授权申请,可在 swan.authorize 中查看相关错误码信息。

# 方法参数

Object object

# object参数说明

属性名 类型 必填 默认值 说明
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

# success 返回参数说明

参数 说明
name 位置名称
address 详细地址
latitude 纬度,浮点数,范围为-90~90,负数表示南纬。使用 gcj02 国测局坐标系,查询指定地点的经纬度。
longitude 经度,浮点数,范围为-180~180,负数表示西经。使用 gcj02 国测局坐标系,查询指定地点的经纬度。

# 示例

扫码体验
重新加载
请使用百度APP扫码

# 图片示例

# 代码示例

    <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">{{name}}</view>
            </view>
            <view class="list-area border-bottom">
                <view class="list-item-key-4">地址</view>
                <view class="list-item-value">{{address}}</view>
            </view>
            <view class="list-area border-bottom">
                <view class="list-item-key-4">坐标</view>
                <view class="list-item-value">{{longitude}} {{latitude}}</view>
            </view>
            <button bindtap="chooseLocation" type="primary" hover-stop-propagation="true">点击选择位置</button>
        </view>
    </view>
    
    Page({
        data: {
            longitude: '',
            latitude: ''
        },
        chooseLocation() {
            swan.authorize({
                scope: 'scope.userLocation',
                success: res => {
                    console.log('authorize', res);
                },
                fail: err => {
                    swan.openSetting({});
                }
            });
            swan.chooseLocation({
                success: res => {
                    console.log('chooseLocation success', res);
                    let longitude = 'E:' + that.formatLocation(res.longitude) + '′';
                    let latitude = 'N:' + that.formatLocation(res.latitude) + '′';
                    console.log('longitude', longitude);
                    console.log('latitude', latitude);
                    this.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('.', '°');
        }
    });
    
    

    # 常见问题

    # Q:如何查询指定地点的经纬度

    A:当前我们提供方式可以查询到您指定地点的经纬度