微信小程式開發(十一)小程式地圖元件map
地圖元件顧名思義就是顯示我們的地圖的,通過經緯度,將位置在地圖上顯示出來;這裡提幾個常用屬性,更多的可以到官網進行查閱。
屬性
longitude:number型別,經度座標
latitude:number型別,緯度座標
markers:Array.<marker值>陣列型別,標記點,可以有多個
show-location:boolean型別,顯示帶有方向的當前定位點
因為座標點不好弄,所以我們通過官網demo進行演示。
官網demo地址:開啟小程式map元件官網地址,找到
點選在開發者工具中預覽效果,會自動載入到小程式開發工具中。
程式碼分析
匯入官網demo之後,我們可以看到index.wxml、index.js、index.wxss三個檔案。
這個樣子的一個工程目錄,但是這裡還是貼一下程式碼,並新增了相關注釋。
index.js檔案程式碼
Page({
data: {
/**
* 預設中心值
*/
latitude: 23.099994,
longitude: 113.324520,
/**
* markers標記點陣列
*/
markers: [{
id: 1,
latitude: 23.099994,
longitude: 113.324520,
name: 'T.I.T 創意園',
iconPath: '/image/location.png'
}],
/**
* covers標記點陣列 即將被刪除,所以不做過多介紹
*/
covers: [{
latitude: 23.099994,
longitude: 113.344520,
iconPath: '/image/location.png'
}, {
latitude: 23.099994,
longitude: 113.304520,
iconPath: '/image/location.png'
}]
},
onReady: function (e) {
/**
* 獲取上下文物件
*/
this.mapCtx = wx.createMapContext('myMap')
},
/**
* 獲取當前中心點位置
* 獲取當前中心點經緯度
*/
getCenterLocation: function () {
this.mapCtx.getCenterLocation({
success: function(res){
console.log(res.longitude)
console.log(res.latitude)
}
})
},
/**
* 移動位置
* 將定位點移動到指定位置
*/
moveToLocation: function () {
this.mapCtx.moveToLocation()
},
/**
* 移動標註
*/
translateMarker: function() {
this.mapCtx.translateMarker({
markerId: 1,
autoRotate: true,
duration: 1000,
destination: {
latitude:23.10229,
longitude:113.3345211,
},
animationEnd() {
console.log('animation end')
}
})
},
/**
* 縮放視野展示所有經緯度
*/
includePoints: function() {
this.mapCtx.includePoints({
padding: [10],
points: [{
latitude:23.10229,
longitude:113.3345211,
}, {
latitude:23.00229,
longitude:113.3345211,
}]
})
}
})
index.wxml檔案程式碼
<view class="page-body">
<view class="page-section page-section-gap">
<map
id="myMap"
style="width: 100%; height: 300px;"
latitude="{{latitude}}"
longitude="{{longitude}}"
markers="{{markers}}"
covers="{{covers}}"
show-location
></map>
</view>
<view class="btn-area">
<!-- 獲取中心點位置事件監聽 -->
<button bindtap="getCenterLocation" class="page-body-button" type="primary">獲取位置</button>
<!-- 移動到指定位置事件監聽 -->
<button bindtap="moveToLocation" class="page-body-button" type="primary">移動位置</button>
<!-- 移動標註位置事件監聽 -->
<button bindtap="translateMarker" class="page-body-button" type="primary">移動標註</button>
<!-- 縮放視野展示所有經緯度事件監聽 -->
<button bindtap="includePoints" class="page-body-button" type="primary">縮放視野展示所有經緯度</button>
</view>
</view>
主要的就是這兩個檔案,wxss檔案就一個樣式,並且還沒有什麼特別的,所以就不貼上來了。
我們執行模擬器看一下效果圖:
看地圖中的綠色標記就可以看到data中基礎經緯度定位的位置,然後我們來操作一下四個事件監聽。
1.獲取位置,點選獲取位置可以看到控制檯有了對應輸出:
2.移動位置,點選移動位置可以看到地圖中心點直接move到了當前的經緯度地址,為了方便觀看移動之後我們再次點選獲取:
3.移動標記,我們在data中定義了移動標記的位置,當我們點選移動標記時,標記會移動到data中指定經緯度的位置:
/**
* 移動標註
*/
translateMarker: function() {
this.mapCtx.translateMarker({
markerId: 1,
autoRotate: true,
duration: 1000,
destination: {
latitude:23.10229,
longitude:113.3345211,
iconPath: '/image/location.png'
},
animationEnd() {
console.log('animation end')
}
})
},
在控制檯列印出animation end之後,我們再次點選獲取位置,可以獲取到移動標記之後標記點的位置:
4.縮放視野展示所有經緯度,這個方法其實沒什麼說的,就是把點的集合縮放到一個可見的視野之內,這裡就不做過多的顯示了,自己進行操作和嘗試就可以了。
其實地圖元件只要按照官方文件給的方法進行操作就可以很好的展示出來,重要的是屬性的操作,屬性的值,以及取值區間等等,這裡就貼一部分,更多的到小程式map元件官網地址進行檢視
另外事件監聽的四個方法,在小程式的api裡面也都包含的有,詳情也可以查閱小程式API文件
地圖元件的介紹就這麼多了~
相關文章
- 微信小程式-地圖元件微信小程式地圖元件
- 微信小程式地圖開發總結微信小程式地圖
- 微信小程式之:小程式接入高德地圖SDK微信小程式地圖
- 微信小程式開發小記微信小程式
- 【小程式】微信小程式開發實踐微信小程式
- 【小程式】微信小程式開發準備微信小程式
- 微信小程式開發微信小程式
- 微信小程式[第十一篇] -- 新增照片(小程式圖片上傳功能)微信小程式
- 微信小程式元件button微信小程式元件
- 微信小程式開發教程微信小程式
- 微信小程式開發2微信小程式
- 微信開發與小程式
- 快速開發微信小程式微信小程式
- 微信小程式--聊天室小程式(雲開發)微信小程式
- 微信小程式之-NBA線上直播小程式開發微信小程式
- 使用wepy開發微信小程式01——常用的元件微信小程式元件
- 微信小程式圖文編輯元件開發(偽富文字編輯)微信小程式元件
- 小程式元件開發心得元件
- 微信小程式開發02-小程式基本介紹微信小程式
- 【微信小程式】小程式內如何匯入vantUI元件微信小程式UI元件
- 『小程式開發』關於微信小程式內建元件swiper,circular(銜接)使用小技巧(實戰)微信小程式元件
- 微信小程式元件封裝微信小程式元件封裝
- 微信小程式框架與元件微信小程式框架元件
- 微信小程式-表單元件微信小程式元件
- 微信小程式-媒體元件微信小程式元件
- 微信小程式-畫布元件微信小程式元件
- 微信小程式元件化(上)微信小程式元件化
- 微信小程式自定義元件微信小程式元件
- 微信小程式開發風口下,微信小程式該如何運營?微信小程式
- 微信小程式開發系列二:微信小程式的檢視設計微信小程式
- 微信小程式開發系列教程三:微信小程式的除錯方法微信小程式除錯
- 微信小程式開發系列七:微信小程式的頁面跳轉微信小程式
- 微信小程式開發總結微信小程式
- 開發微信小程式的作用微信小程式
- 微信小程式藍芽開發微信小程式藍芽
- 微信小程式雲開發6微信小程式
- 微信小程式開發神器-Grace微信小程式
- 微信小程式開發--『狗蛋TV』微信小程式