百度智能小程序 打開地圖選擇位置

2020-09-05 14:20 更新

swan.chooseLocation

解釋: 打開地圖選擇位置。需要用戶授權 scope.userLocation 。使用該 API 需通過獲取用戶授權設置申請授權后方可對用戶發(fā)起授權申請,可在 swan.authorize 中查看相關錯誤碼信息。

方法參數

Object object

object 參數說明

屬性名類型必填默認值說明

success

Function

接口調用成功的回調函數

fail

Function

接口調用失敗的回調函數

complete

Function

接口調用結束的回調函數(調用成功、失敗都會執(zhí)行)

success 返回參數說明

參數參數類型說明

name

String

位置名稱

address

String

詳細地址

latitude

Number

緯度,浮點數,范圍為 -90~90 ,負數表示南緯。使用 gcj02 國測局坐標系,查詢指定地點的經緯度。

longitude

Number

經度,浮點數,范圍為 -180~180 ,負數表示西經。使用 gcj02 國測局坐標系,查詢指定地點的經緯度。

示例 

在開發(fā)者工具中打開



圖片示例

代碼示例

<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:' + this.formatLocation(res.longitude) + '′';
                let latitude = 'N:' + this.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:當前我們提供以下方式可以查詢到您指定地點的經緯度

  • 推薦使用 swan.chooseLocation 可獲取到選擇當前位置的經緯度。在開發(fā)者工具中調用 swan.chooseLocation 用日志輸出看到經緯度(坐標系 GCJ02 ,可以直接用于小程序),具體方法可參考官方示例在開發(fā)者工具中預覽效果。
  • 使用地圖拾取器百度地圖拾取器:坐標系 BD09 ,不能直接用于小程序,需要開發(fā)者轉換為 GCJ02 。后期小程序優(yōu)化后可以支持該坐標系。騰訊地圖拾取器:坐標系 GCJ02 ,可直接使用。高德地圖拾取器:坐標系 GCJ02 ,可直接使用。


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號