知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
您當(dāng)前位置>首頁 » 新聞資訊 » 公眾號相關(guān) >
vue + 微信公眾號開發(fā)+騰訊地圖定位顯示附近商家多點標(biāo)記并自定義標(biāo)記樣式
發(fā)表時間:2020-9-24
發(fā)布人:葵宇科技
瀏覽次數(shù):189
先看下效果吧
首先進(jìn)行公眾號的常規(guī)開發(fā),引入jssdk,相關(guān)配置代碼如下
引入后可以使用微信內(nèi)置定位功能,獲取用戶經(jīng)緯度
重點!引入騰訊地圖JS API 點擊查看騰訊javascript API
在index.html頁引入jsapi
(key需要自己去騰訊地圖官網(wǎng)申請奧,否則鑒權(quán)不通過,不能進(jìn)行接下來的開發(fā))
創(chuàng)建一個需要用的地圖的組件,設(shè)置地圖寬高
js相關(guān)代碼如下
// 初始化地圖
initMap() {
this.mapSetting = {
Map: qq.maps.Map, // 構(gòu)建map的集合
Marker: qq.maps.Marker, // 地圖中的標(biāo)記
LatLng: qq.maps.LatLng, // 地圖中的經(jīng)緯度
Event: qq.maps.event, // 地圖事件
MVCArray: qq.maps.MVCArray, // 地圖中的可變數(shù)組
MarkerCluster: qq.maps.MarkerCluster // 地圖中點聚合(標(biāo)記聚合)
}
this.center = new this.mapSetting.LatLng(this.position.latitude, this.position.longitude)
var options = {
'zoom': 11,
'center': this.center,
'mapTypeId': 'roadmap'
}
// 創(chuàng)建map地圖
this.map = new this.mapSetting.Map(document.getElementById('map'), options)
// map的 info
this.info = new qq.maps.InfoWindow({
map: this.map
})
// 調(diào)用
this.createCluster()
this.initEvent()
},
// 地圖事件
initEvent() {
// 地圖縮放事件
// info.open('zoomLevel: ' + map.getZoom())
this.info.setPosition(this.center)
this.mapSetting.Event.addListener(this.map, 'zoom_changed', () => {
// todo 縮放時 分頁請求
// const zoomLevel = map.getZoom()
this.map.setCenter(this.center)
// info.setContent('zoomLevel: ' + zoomLevel)
})
// 點擊點聚合clusterer(聚類器)
this.mapSetting.Event.addListener(this.markerClusterer, 'clusterclick', function(evt) {
// console.log('e', evt)
})
},
// 創(chuàng)建makers
createCluster() {
if (this.map == null) {
return
}
var markers = new this.mapSetting.MVCArray()
for (var i = 0; i < this.testData.length; i++) {
const latLng = new this.mapSetting.LatLng(this.testData[i][0], this.testData[i][1])
var marker = new this.mapSetting.Marker({
'position': latLng,
map: this.map
})
// 獲取標(biāo)記的點擊事件
this.mapSetting.Event.addListener(marker, 'click', () => {
this.showInfo = true
this.info.open()
this.info.setContent(this.divInfo)
this.info.setPosition(latLng)
})
markers.push(marker)
}
this.markerClusterer = new this.mapSetting.MarkerCluster({
map: this.map,
minimumClusterSize: 8, // 默認(rèn)2
markers: markers,
zoomOnClick: true, // 默認(rèn)為true
gridSize: 30, // 默認(rèn)60
averageCenter: true, // 默認(rèn)false
maxZoom: 18 // 默認(rèn)18
})
}
自定義標(biāo)記樣式
在createCluster方法中新增這段代碼就可以實現(xiàn)了
效果如下
好啦,主要代碼就是這些,快去試試吧,歡迎大家留言溝通
相關(guān)案例查看更多
相關(guān)閱讀
- 曲靖小程序開發(fā)
- 花農(nóng)小程序
- 網(wǎng)站建設(shè)報價
- 重慶網(wǎng)站建設(shè)公司
- 網(wǎng)站建設(shè)首選
- 麗江小程序開發(fā)
- 網(wǎng)站建設(shè)招商
- 云南網(wǎng)站建設(shè)
- 云南網(wǎng)絡(luò)營銷
- 云南網(wǎng)站建設(shè)公司
- 用戶登錄
- 百度小程序開發(fā)公司
- 報廢車回收管理軟件
- web開發(fā)
- 昆明網(wǎng)站制作
- 霸屏推廣
- 手機網(wǎng)站建設(shè)
- 關(guān)鍵詞快速排名
- 微信分銷系統(tǒng)
- 網(wǎng)絡(luò)公司報價
- 網(wǎng)站建設(shè)電話
- 網(wǎng)站建設(shè)列表網(wǎng)
- 網(wǎng)站上首頁
- 云南軟件設(shè)計
- 網(wǎng)站開發(fā)哪家好
- 昆明小程序設(shè)計
- 網(wǎng)站建設(shè)選
- 河南小程序制作
- 網(wǎng)站開發(fā)公司哪家好
- 出入小程序