當前位置:
首頁 > 知識 > vue 高德地圖之玩轉周邊

vue 高德地圖之玩轉周邊

前言:在之前的博客中,有成功引入高德地圖,這是以前的地址 vue 調用高德地圖。

因為一些需求,需要使用到地圖的周邊功能。

完整的項目代碼請查看 我的github

一 、先看要實現的結果,參考了鏈家的周邊,如圖所示。

vue 高德地圖之玩轉周邊

二 、原理分析

1、引入高德api,這個在之前的博客提到過,vue 調用高德地圖。

2、使用地圖的周邊插件,這是 高德網站的api。

AMap.PlaceSearch //地點搜索服務插件,提供某一特定地區的位置查詢服務

在插件中的各種方法中選取了searchNearBy的方法。

searchNearBy(keyword:String,center:LngLat,radius:Number,
callback:function(status:String,result:info/SearchResult))

// 根據中心點經緯度、半徑以及關鍵字進行周邊查詢
radius取值範圍:0-50000

3、構建查詢方法

searchData: function (callback) {
let keyWords = ["地鐵線路", "大型購物廣場", "三甲醫院", "學校"] // 自選關鍵詞
let distance = [1000, 3000, 3000, 3000]
// …………………………………………………………周邊分類…………………………………………………………………………………………………………
placeSearchOptions = { // 構造地點查詢類
pageSize: 10,
pageIndex: 1,
city: "021", // 城市
map: map,
visible: false
}
AMap.service("AMap.PlaceSearch", function {
map.clearMap // 清除地圖覆蓋物
placeSearch = new AMap.PlaceSearch(placeSearchOptions)
for (let i = 0; i < keyWords.length; i++) { placeSearch.searchNearBy(keyWords[i], [121.44343879031237, 31.207570983863118], distance[i], callback) } }) return callback },

在這個方法中,將所有的maker都查找出來,為了能夠讓後續不重新載入地圖和插件,如有更好的方法 ,歡迎指出。

4、將maker的切換事件綁定在footer下的各個選項中。

/* 註冊每項的點擊事件,默認顯示num0,也就是交通,實際上所有的數據已經請求到了,點擊按鈕只是用來切換maker */
clickItem: function (index, buttons) {
map.clearMap // 清除地圖覆蓋物
buttons.forEach(function (e, index) {
e.isActive = false
})
buttons[index].isActive = true
self.listCount = self.num[index].length
self.listText = self.num[index]
function onClick (e) {
console.log(e)
}
for (let i = 0; i < self.num[index].length; i++) { marker = new AMap.Marker({ // content: "div", title: "abc", icon: "https://webapi.amap.com/theme/v1.3/markers/n/mark_b" + (i + 1) + ".png", position: [self.num[index][i].location.lng, self.num[index][i].location.lat], offset: new AMap.Pixel(-24, 5), zIndex: 1, map: map, clickable: true }) AMap.event.addListener(marker, "click", onClick) } return marker }

三、結果展示

vue 高德地圖之玩轉周邊

注意:為方便演示效果,此項目中使用了個人開發者的高德秘鑰,請自行去替換成自己的。

完整的項目代碼請查看 我的github

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 科技優家 的精彩文章:

C簡單構架之EF進行讀寫分離+多資料庫(Mysql/SqlService)
在windows下使用Qt5開發GTK3圖形界面應用程序
angular2/angular4 如何通過$http的post方法請求下載二進位的Excel文件
帶著問題寫React Native原生控制項--Android視頻直播控制項
html5中cookie介紹,封裝以及添加,獲取,刪除

TAG:科技優家 |

您可能感興趣

上海時裝周,玩轉各大showroom攻略
南韓再掀「Chuu Heart」風!idol 帶你玩轉新花樣
如何更好地玩轉 GitHub?
Amazon Business帶你玩轉高利潤、高頻復購的MRO!
millie』s X moussy聯名l馬思純玩轉跨時空style,全靠這雙鞋
資深音樂人郝舫,帶你玩轉叱吒美國大半個娛樂圈的Coachella音樂節
玩轉 GitHub 更新Fork
Follow me!三秒玩轉韓國平昌冬奧會!
坐看Gucci、Dior、miumiu 如何玩轉?
今晚視頻直播,Echo和Kelly帶你玩轉復古桌游~
《上海女子圖鑑》帶你玩轉職場,so  easy!
Laura Orgué玩轉冬奧會的短距離越野女王
韓東君生日會玩轉FreeStyle 大型蹦迪現場火熱溫馨看點十足
出售酒店房間產權模式 紐西蘭Safari Group是怎麼玩轉的
米蘭時裝周玩轉Gucci、Fendi,不輸姚晨的她究竟是何方妖孽?
joujou風美甲,玩轉暈染+貝殼片美甲!
僅需八步 教你玩轉Google Home Hub
AJboy VS AJgirl,學生黨才能玩轉的「穿不起」!
蒂芙尼早餐、Hermes洗衣店、Chanel遊戲廳,宇宙大牌都如何玩轉跨界?
努比亞X vs vivo NEX 玩轉雙屏誰更6?