W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
解釋: 獲取當前的地理位置、速度。當用戶離開智能小程序后,此接口無法調(diào)用。
參數(shù): Object
Object 參數(shù)說明:
參數(shù) | 類型 | 必填 | 說明 |
---|---|---|---|
type | String | 否 | 默認為 wgs84 返回 gps 坐標,可選 gcj02 |
success | Function | 是 | 接口調(diào)用成功的回調(diào)函數(shù),返回內(nèi)容詳見返回參數(shù)說明。 |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
success 返回參數(shù)說明:
參數(shù) | 說明 |
---|---|
latitude | 緯度,浮點數(shù),范圍為-90~90,負數(shù)表示南緯 |
longitude | 經(jīng)度,浮點數(shù),范圍為-180~180,負數(shù)表示西經(jīng) |
speed | 速度,浮點數(shù),單位m/s |
accuracy | 位置的精確度 |
altitude | 高度,單位 m |
verticalAccuracy | 垂直精度,單位 m(Android 無法獲取,返回 0) |
horizontalAccuracy | 水平精度,單位 m |
示例:
swan.getLocation({
type: 'gcj02',
success: function (res) {
console.log("緯度:" + res.latitude);
console.log("經(jīng)度:" + res.longitude);
},
fail: function (err) {
console.log("錯誤碼:" + err.errCode);
console.log("錯誤信息:" + err.errMsg);
}
});
解釋: 使用手百內(nèi)置地圖查看位置。
參數(shù): Object??Object 參數(shù)說明:
參數(shù) | 類型 | 必填 | 說明 |
---|---|---|---|
latitude | Float | 是 | 緯度,范圍為 -90~90,負數(shù)表示南緯 |
longitude | Float | 是 | 經(jīng)度,范圍為 -180~180,負數(shù)表示西經(jīng) |
scale | INT | 否 | 縮放比例,范圍 4~21,默認為16 |
示例:
swan.getLocation({
type: 'gcj02',
success: function (res) {
swan.openLocation({
latitude: res.latitude,
longitude: res.longitude,
scale: 18
})
},
fail: function (err) {
console.log("錯誤碼:" + err.errCode);
console.log("錯誤信息:" + err.errMsg);
}
});
解釋: 創(chuàng)建并返回 map 上下文 mapContext 對象。在自定義組件下,第二個參數(shù)傳入組件實例 this,以操作組件內(nèi) <map/> 組件。mapContext 通過 mapId 跟一個 組件綁定,通過它可以操作對應的 組件。
參數(shù): mapId
mapContext 對象的方法列表:
方法 | 參數(shù) | 說明 |
---|---|---|
getCenterLocation | OBJECT | 獲取當前地圖中心的經(jīng)緯度,返回的是 gcj02 坐標系,可以用于 swan.openLocation |
moveToLocation | 無 | 將地圖中心移動到當前定位點,需要配合 map 組件的 show-location 使用 |
translateMarker | OBJECT | 平移 marker,帶動畫 |
includePoints | OBJECT | 縮放視野展示所有經(jīng)緯度 |
getRegion | OBJECT | 獲取當前地圖的視野范圍 |
getScale | OBJECT | 獲取當前地圖的縮放級別 |
getCenterLocation 的 Object 參數(shù)列表:
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù) ,res = { longitude: “經(jīng)度”, latitude: “緯度”} |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
translateMarker 的 Object 參數(shù)列表:
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
markerId | Number | 是 | 指定 marker |
destination | Object | 是 | 指定marker移動到的目標點 |
autoRotate | Boolean | 是 | 移動過程中是否自動旋轉(zhuǎn) marker |
rotate | Number | 是 | marker 的旋轉(zhuǎn)角度 |
duration | duration | 否 | 動畫持續(xù)時長,默認值1000ms,平移與旋轉(zhuǎn)分別計算 |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
includePoints 的 OBJECT 參數(shù)列表:
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
points | Array | 是 | 要顯示在可視區(qū)域內(nèi)的坐標點列表,[{latitude, longitude}] |
padding | Array | 否 | 坐標點形成的矩形邊緣到地圖邊緣的距離,單位像素。格式為[上,右,下,左],安卓上只能識別數(shù)組第一項,上下左右的 padding 一致。開發(fā)者工具暫不支持 padding 參數(shù)。 |
getRegion 的 OBJECT 參數(shù)列表:
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù),res = {southwest, northeast},西南角與東北角的經(jīng)緯度 |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
getScale 的 OBJECT 參數(shù)列表:
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
success | Function | 否 | 接口調(diào)用成功的回調(diào)函數(shù),res = {scale} |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行) |
示例:
<view class="wrap">
<map id="myMap"
style="width: 100%"
</map>
<button type="primary" bindtap="getCenterLocation">獲取位置</button>
<button type="primary" bindtap="moveToLocation">移動位置</button>
<button type="primary" bindtap="translateMarker">移動標注</button>
<button type="primary" bindtap="includePoints">縮放視野展示所有經(jīng)緯度</button>
<button type="primary" bindtap="getRegion">獲取當前地圖的視野范圍</button>
</view>
Pages({
data: {
latitude: '40.042500',
longitude: '116.274040',
},
onReady() {
this.mapContext = swan.createMapContext('myMap');
},
getCenterLocation: function () {
this.mapContext.getCenterLocation({
success: function (res) {
console.log("經(jīng)度" + res.longitude);
console.log("緯度" + res.latitude);
}
})
},
moveToLocation: function () {
this.mapContext.moveToLocation();
},
translateMarker: function () {
this.mapContext.translateMarker({
markerId: 0,
autoRotate: true,
duration: 1000,
destination: {
latitude: 23.10229,
longitude: 113.3345211,
},
animationEnd() {
console.log('animation end');
}
})
},
includePoints: function () {
this.mapContext.includePoints({
padding: [10],
points: [{
latitude: 23,
longitude: 113.33,
}, {
latitude: 23,
longitude: 113.3345211,
}]
})
},
getRegion: function () {
this.mapContext.getRegion({
success: function (res) {
console.log("西南角的經(jīng)緯度" + res.southwest);
console.log("東北角的經(jīng)緯度" + res.northeast);
}
})
}
});
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: