<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Vue 使用高德地圖,實現縮放,滑鼠繪製,測距、測面積、行政區域範圍繪製、關鍵詞查詢等操作。
高德地圖API官網:https://lbs.amap.com/
高德地圖2.0參考手冊:https://lbs.amap.com/api/jsapi-v2/documentation#pixel
高德地圖2.0範例程式碼:https://lbs.amap.com/demo/list/jsapi-v2
首相要在index.html檔案中引入高德地圖。
<script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=您申請的key值&plugin=AMap.ToolBar"></script>
在需要寫地圖的頁面中新增一個div用來展示地圖,記得為這個div設定高度和寬度,不然顯示不出來。
<div id="mapDiv"></div>
然後寫 TS 程式碼把地圖顯示出來。
// 載入地圖 initMap() { map = new AMap.Map('mapDiv', { zoom: 11,//級別 center: [116.34703902, 40.48188],//中心點座標 viewMode: '3D'//使用3D檢視 }); },
然後地圖就出現了。
首先寫兩個靜態按鈕,縮放也很簡單,就兩行程式碼就可以了。
map.zoomIn()
map.zoomOut()
測量距離稍微麻煩點,但是也還好其實。
首先我們要在初始化地圖完成之後,建立一個滑鼠繪製工具。
// 測距、測面積使用 mouseTool = new AMap.MouseTool(map);
MouseTool 這個外掛需要在index.html檔案的script中引入一下,就是plugin引數後邊加就可以,用英文的逗號隔開。
<script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=您申請的key值&plugin=AMap.ToolBar,AMap.MouseTool"></script>
然後寫一個按鈕“測距”,點選的時候就執行測距方法。
// 開始測距 start() { mouseTool.rule({ startMarkerOptions: {//可預設 icon: new AMap.Icon({ size: new AMap.Size(19, 31),//圖示大小 imageSize: new AMap.Size(19, 31), image: "//webapi.amap.com/theme/v1.3/markers/b/start.png" }), offset: new AMap.Pixel(-9, -31) }, endMarkerOptions: {//可預設 icon: new AMap.Icon({ size: new AMap.Size(19, 31),//圖示大小 imageSize: new AMap.Size(19, 31), image: "//webapi.amap.com/theme/v1.3/markers/b/end.png" }), offset: new AMap.Pixel(-9, -31) }, midMarkerOptions: {//可預設 icon: new AMap.Icon({ size: new AMap.Size(19, 31),//圖示大小 imageSize: new AMap.Size(19, 31), image: "//webapi.amap.com/theme/v1.3/markers/b/mid.png" }), offset: new AMap.Pixel(-9, -31) }, lineOptions: {//可預設 strokeStyle: "solid", strokeColor: "#FF33FF", strokeOpacity: 1, strokeWeight: 2 } //同 RangingTool 的 自定義 設定,預設為預設樣式 }); } // 停止測距 stop() { mouseTool.close(true)//關閉,並清除覆蓋物 }
測量面積和測距類似。
// 開始測面積 start() { mouseTool.measureArea({ strokeColor: '#80d8ff', fillColor: '#80d8ff', fillOpacity: 0.3 }); } // 停止測面積 stop() { mouseTool.close(true)//關閉,並清除覆蓋物 }
很簡單吧!
這個也很簡單哈寶寶們!
首先也是走介面去獲取行政區劃的範圍啊。
需要用到這個外掛AMap.DistrictSearch,和測距一樣在index.html中引入一下。
然後在初始化地圖完成的時候範例化一下。
// 搜尋行政區 district = new AMap.DistrictSearch(opts);
首先寫一個輸入框,用來輸入查詢的行政區劃的名稱,比如輸入“北京”,然後點選按鈕走下面的方法來查詢北京行政區劃的範圍資訊。
// 行政區劃搜尋 seachArea() { if (this.areaInput === "") { map.remove(areaPolygons)//清除上次結果 return; } district.search(this.areaInput, (status, result) => { map.remove(areaPolygons)//清除上次結果 areaPolygons = []; var bounds = result.districtList[0].boundaries; if (bounds) { for (var i = 0, l = bounds.length; i < l; i++) { //生成行政區劃polygon var polygon = new AMap.Polygon({ strokeWeight: 3, path: bounds[i], fillOpacity: 0, fillColor: '#80d8ff', strokeColor: 'red' }); areaPolygons.push(polygon); } } map.add(areaPolygons) map.setFitView(areaPolygons);//視口自適應 }); },
這個其實和行政區劃查詢差不多。
首先呢,需要在地圖初始化完成之後呢,建立一個關鍵字查詢的範例。
// 關鍵字搜尋 AMap.plugin(["AMap.PlaceSearch"], () => { //構造地點查詢類 placeSearch = new AMap.PlaceSearch({ pageSize: 50, // 單頁顯示結果條數 pageIndex: 1, // 頁碼 autoFitView: false // 是否自動調整地圖視野使繪製的 Marker點都處於視口的可見範圍 }); });
這個還有其他的引數,可根據官方檔案自己判斷挑選使用呀!
有一個輸入框,輸入要查詢的關鍵字,然後一個按鈕來走介面查詢相關的關鍵字。然後會返回給你一個列表包含著關鍵字搜尋回來的資料。
searchKeyWord() { placeSearch.search("北京", (state, data) => { this.total = 0 let dataList = data switch (dataList.info) { case 'OK': console.log("-------->", dataList.poiList.pois) break; case 'TIP_CITIES': console.log("-------->", dataList.cityList) break; } }); }
上邊 如果 info 為 OK,標識返回的是地點列表,如果是 TIP_CITIES,標識返回的是在下面這些城市裡面有關於搜尋鍵碼的相關資料。
比如搜尋北京,返回地點列表。
比如搜尋“動物園”,返回相關城市列表。
這個簡單,就是點選一個按鈕開始繪製多邊形。
// 繪製區域 startPolygon() { polyTool = new AMap.MouseTool(map); polyTool.polygon({ strokeColor: "#1791fc", strokeOpacity: 1, strokeWeight: 1, fillColor: '#1791fc', fillOpacity: 0.4, strokeStyle: "solid", extData: { id: '123' } }) polyTool.on('draw', (event) => { let poly = event.obj // 繪製完多邊形實力物件 console.log('繪製圖形頂點資訊列表--------> ', poly.getOptions()) console.log('繪製圖形的自定義屬性--------> ', poly.getOptions().path) polyTool.close() polyTool = null }) },
完成了兄弟們!
到此這篇關於Vue接入高德地圖的文章就介紹到這了,更多相關Vue接入高德地圖內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45