日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

vue中調用百度地圖獲取經緯度的實現

瀏覽:189日期:2022-07-19 08:43:07

項目中,需要實現獲取當前位置的經緯度,或者搜索某個位置并獲取經緯度信息,我使用的的是vue,地圖使用的是百度地圖。

vue中調用百度地圖獲取經緯度的實現

默認自動獲取當前位置經緯度

vue中調用百度地圖獲取經緯度的實現

拖動小紅標 獲取經緯度

vue中調用百度地圖獲取經緯度的實現

關鍵詞 查詢獲取經緯度

前期準備

首先,我們需要取百度官方申請一個地圖api秘鑰,https://lbsyun.baidu.com/apiconsole/key 進入后在應用管理,我的應用去申請即可。

申請好以后,我們打開vue項目中public文件下的index.html文件,拼接百度AK值并引入

<script type='text/javascript' src='http://api.map.baidu.com/api?v=2.0&ak=WFKACU6v7aiUdnkgtMCqdWBZC68KpUXv'></script>

如上所示,紅色區域為AK值,自行拼接自己的,可以設置權限為公開或者針對網址白名單。

<script type='text/javascript' src='http://api.map.baidu.com/api?v=2.0&ak=WFKACU6v7aiUdnkgtMCqdWBZC68KpUXv'></script>

我使用了elementui的彈窗,輸入框,提示,如果你沒使用elementui,記得更換哦!

HTML代碼

<template> <div> <el-dialog @close='clearDialog' :close-on-click-modal='false' :title='text' :visible.sync='popup' > <div class='form-layer'><el-form label- size='mini'> <el-form-item label='獲取定位'> <el-button type='primary' @click='fixedPos'>重新定位</el-button> </el-form-item> <el-form-item label='當前緯度'> <p>{{latitude}}</p> </el-form-item> <el-form-item label='當前經度'> <p>{{longitude}}</p> </el-form-item> <el-form-item> <div class='f-a-c'> <el-input v-model='keyWords' placeholder='請輸入地區' style='width: 230px;margin-right: 6px;'></el-input> <el-button type='primary' @click='setPlace' :disabled='!keyWords'>查詢</el-button> </div> </el-form-item></el-form><div id='map'></div> </div> <div slot='footer' class='dialog-footer'><el-button size='small' type='primary' v-if='type != ’2’' @click='btnSubmit()' >確 認</el-button><el-button size='small' @click='popup = false'>取 消</el-button> </div> </el-dialog> </div></template>

JS代碼

<script> export default { name: 'mapView', data() { return {map: null,local: null,mk: null,latitude: ’’,longitude: ’’,keyWords: ’’ }; }, methods: { // 打開彈窗,name為彈窗名稱 async openDialog(name) {this.text = name;this.popup = true;this.initMap(); }, // 確認 btnSubmit() {let key = { latitude: this.latitude, longitude: this.longitude}// 打印經緯度console.log(key);this.popup = false; }, initMap() {this.$nextTick(() => { this.map = new BMap.Map('map'); let point = new BMap.Point(116.404, 39.915); this.map.centerAndZoom(point, 12); this.map.enableScrollWheelZoom(true); // 開啟鼠標滾輪縮放 this.map.addControl(new BMap.NavigationControl()); this.fixedPos();}); }, // 點擊定位-定位到當前位置 fixedPos() {const _this = this;const geolocation = new BMap.Geolocation();this.confirmLoading = true;geolocation.getCurrentPosition(function (r) { if (this.getStatus() == BMAP_STATUS_SUCCESS) { _this.handleMarker(_this, r.point); let myGeo = new BMap.Geocoder(); myGeo.getLocation( new BMap.Point(r.point.lng, r.point.lat), function (result) {_this.confirmLoading = false;if (result) { _this.latitude = result.point.lat; _this.longitude = result.point.lng;} } ); } else { _this.$message.error('failed' + this.getStatus()); }}); }, // 搜索地址 setPlace() {this.local = new BMap.LocalSearch(this.map, { onSearchComplete: this.searchPlace,});this.local.search(this.keyWords); }, searchPlace() {if (this.local.getResults() != undefined) { this.map.clearOverlays(); //清除地圖上所有覆蓋物 if (this.local.getResults().getPoi(0)) { let point = this.local.getResults().getPoi(0).point; //獲取第一個智能搜索的結果 this.map.centerAndZoom(point, 18); this.handleMarker(this, point); console.log('經度:' + point.lng + '--' + '緯度' + point.lat); this.latitude = point.lat; this.longitude = point.lng; } else { this.$message.error('未匹配到地點!'); }} else { this.$message.error('未找到搜索結果!');} }, // 設置標注 handleMarker(obj, point) {let that = this;obj.mk = new BMap.Marker(point);obj.map.addOverlay(obj.mk);obj.mk.enableDragging(); // 可拖拽obj.mk.addEventListener('dragend', function (e) { // 監聽標注的拖拽,獲取拖拽后的經緯度 that.latitude = e.point.lat; that.longitude = e.point.lng;});obj.map.panTo(point); }, } };</script>

CSS代碼

<style scoped> .form-layer { width: 100%; } #map { margin-top: 30px; width: 100%; height: 300px; border: 1px solid gray; box-sizing: border-box; overflow: hidden; } /deep/ .el-dialog { min-width: 550px; } /deep/ .el-dialog__body { padding: 10px; }</style>

完整代碼

<template> <div> <el-dialog @close='clearDialog' :close-on-click-modal='false' :title='text' :visible.sync='popup' > <div class='form-layer'><el-form label- size='mini'> <el-form-item label='獲取定位'> <el-button type='primary' @click='fixedPos'>重新定位</el-button> </el-form-item> <el-form-item label='當前緯度'> <p>{{latitude}}</p> </el-form-item> <el-form-item label='當前經度'> <p>{{longitude}}</p> </el-form-item> <el-form-item> <div class='f-a-c'> <el-input v-model='keyWords' placeholder='請輸入地區' style='width: 230px;margin-right: 6px;'></el-input> <el-button type='primary' @click='setPlace' :disabled='!keyWords'>查詢</el-button> </div> </el-form-item></el-form><div id='map'></div> </div> <div slot='footer' class='dialog-footer'><el-button size='small' type='primary' v-if='type != ’2’' @click='btnSubmit()' >確 認</el-button><el-button size='small' @click='popup = false'>取 消</el-button> </div> </el-dialog> </div></template><script> export default { name: 'mapView', data() { return {map: null,local: null,mk: null,latitude: ’’,longitude: ’’,keyWords: ’’ }; }, methods: { // 打開彈窗,name為彈窗名稱 async openDialog(name) {this.text = name;this.popup = true;this.initMap(); }, // 確認 btnSubmit() {let key = { latitude: this.latitude, longitude: this.longitude}// 打印經緯度console.log(key);this.popup = false; }, initMap() {this.$nextTick(() => { this.map = new BMap.Map('map'); let point = new BMap.Point(116.404, 39.915); this.map.centerAndZoom(point, 12); this.map.enableScrollWheelZoom(true); // 開啟鼠標滾輪縮放 this.map.addControl(new BMap.NavigationControl()); this.fixedPos();}); }, // 點擊定位-定位到當前位置 fixedPos() {const _this = this;const geolocation = new BMap.Geolocation();this.confirmLoading = true;geolocation.getCurrentPosition(function (r) { if (this.getStatus() == BMAP_STATUS_SUCCESS) { _this.handleMarker(_this, r.point); let myGeo = new BMap.Geocoder(); myGeo.getLocation( new BMap.Point(r.point.lng, r.point.lat), function (result) {_this.confirmLoading = false;if (result) { _this.latitude = result.point.lat; _this.longitude = result.point.lng;} } ); } else { _this.$message.error('failed' + this.getStatus()); }}); }, // 搜索地址 setPlace() {this.local = new BMap.LocalSearch(this.map, { onSearchComplete: this.searchPlace,});this.local.search(this.keyWords); }, searchPlace() {if (this.local.getResults() != undefined) { this.map.clearOverlays(); //清除地圖上所有覆蓋物 if (this.local.getResults().getPoi(0)) { let point = this.local.getResults().getPoi(0).point; //獲取第一個智能搜索的結果 this.map.centerAndZoom(point, 18); this.handleMarker(this, point); console.log('經度:' + point.lng + '--' + '緯度' + point.lat); this.latitude = point.lat; this.longitude = point.lng; } else { this.$message.error('未匹配到地點!'); }} else { this.$message.error('未找到搜索結果!');} }, // 設置標注 handleMarker(obj, point) {let that = this;obj.mk = new BMap.Marker(point);obj.map.addOverlay(obj.mk);obj.mk.enableDragging(); // 可拖拽obj.mk.addEventListener('dragend', function (e) { // 監聽標注的拖拽,獲取拖拽后的經緯度 that.latitude = e.point.lat; that.longitude = e.point.lng;});obj.map.panTo(point); }, } };</script><style scoped> .form-layer { width: 100%; } #map { margin-top: 30px; width: 100%; height: 300px; border: 1px solid gray; box-sizing: border-box; overflow: hidden; } /deep/ .el-dialog { min-width: 550px; } /deep/ .el-dialog__body { padding: 10px; }</style>

到此這篇關于vue中調用百度地圖獲取經緯度的實現的文章就介紹到這了,更多相關vue調用百度地圖獲取經緯度內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: 百度 地圖
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产精品毛片一区二区三区| 精品国产中文字幕第一页| 91综合视频| 麻豆精品新av中文字幕| 国产亚洲人成a在线v网站| 日韩精品一区二区三区中文字幕| 蜜桃视频一区二区三区在线观看 | 久久精品九色| 国产精品亚洲综合在线观看| 97久久精品| 日韩va亚洲va欧美va久久| 亚洲三级在线| 欧美+日本+国产+在线a∨观看| 久久夜夜操妹子| 欧美色图国产精品| 欧美特黄一区| 鲁大师影院一区二区三区| 一区二区三区网站| 欧美亚洲三级| 国产成人精选| 香蕉久久99| 综合亚洲视频| 国产精品22p| 亚洲永久av| 国产精品日韩久久久| 五月亚洲婷婷 | 日本国产一区| 欧美日韩18| 色一区二区三区四区| 色综合www| 黑丝一区二区三区| 深夜福利亚洲| 久久婷婷国产| 在线一区av| 国产精品老牛| 国产精品magnet| 激情国产在线| 日韩视频免费| 亚洲精品系列| 精品视频在线你懂得| 欧美精选视频一区二区| 婷婷中文字幕一区| 日韩福利视频一区| 韩国女主播一区二区三区| 1024精品一区二区三区| 亚洲日本久久| 国产中文欧美日韩在线| 丝袜av一区| 亚洲天堂免费| 久久久91麻豆精品国产一区| 日韩精品午夜| 日韩黄色av| 日韩一区二区中文| 午夜日韩福利| 国产免费av国片精品草莓男男| 在线手机中文字幕| 亚洲精品一二三**| 涩涩av在线| 中文无码日韩欧| 精品一区二区三区的国产在线观看 | 日韩中文字幕| 国产一区二区精品久| 青青久久av| 综合色就爱涩涩涩综合婷婷| 欧美好骚综合网| 蜜桃一区二区三区在线观看| 精品国产午夜肉伦伦影院| 久久九九电影| 国产亚洲一区| 日韩视频二区| 日本一二区不卡| 日本在线成人| 欧美日韩亚洲在线观看| 国产精品一区二区精品视频观看 | 99pao成人国产永久免费视频 | 国产午夜久久av| 亚洲午夜精品久久久久久app| 欧美日韩99| 日韩一区二区免费看| 成人国产精选| 日本一区二区中文字幕| 婷婷成人在线| 欧美精品第一区| 在线观看视频免费一区二区三区| 精品国产乱码久久久久久1区2匹| 香蕉久久国产| 在线观看精品| 亚洲精品九九| 99精品一区| 精品99久久| 国产香蕉精品| 视频一区二区国产| 久久精品国产www456c0m| 国产精品theporn| 亚洲开心激情| 久久国产毛片| sm久久捆绑调教精品一区| 国产亚洲一卡2卡3卡4卡新区| 丝袜国产日韩另类美女| 久久久久网站| 97国产成人高清在线观看| 日本一区免费网站| 不卡一区2区| 久久精品日韩欧美| 综合在线一区| 另类av一区二区| 亚洲精品123区| 在线日韩一区| 在线一区视频观看| 日韩成人免费| 国产伊人久久| 老牛国内精品亚洲成av人片| 国产探花一区| 日韩美女国产精品| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲精品网址| 亚洲精品网址| 欧美日韩视频免费观看| 成人亚洲精品| 牛牛精品成人免费视频| 国产欧美一区二区精品久久久 | 国产丝袜一区| 日韩激情精品| 日韩一区二区三免费高清在线观看 | 日本99精品| 亚洲69av| 亚洲人成亚洲精品| 亚洲日本欧美| 日韩一区网站| 日韩精品1区2区3区| 蜜桃av一区二区| 蜜桃久久久久久久| 日韩综合一区二区| 日本中文字幕一区二区视频| 蜜桃91丨九色丨蝌蚪91桃色| 蜜臀av国产精品久久久久| 蜜桃视频一区二区| 亚洲精品欧美| 亚洲最大av| 亚洲ww精品| 欧美日韩a区| 国产精品啊v在线| 精品女同一区二区三区在线观看| 国产一区二区视频在线看| 日韩av自拍| 亚洲无线一线二线三线区别av| 欧美成人精品| 香蕉成人久久| 日本免费一区二区视频| 国产精品日本一区二区三区在线| 欧美日韩18| 美女视频免费精品| 国产在线观看www| 精品视频97| 电影天堂国产精品| 亚洲黄色在线| 视频一区中文字幕精品| 国产女人18毛片水真多18精品| 久久亚洲人体| 日韩精品电影| 国产精品日本| 欧美久久香蕉| 岛国av在线网站| 国精品一区二区| 丝袜美腿一区二区三区| 日韩1区2区3区| 麻豆国产精品一区二区三区| 久久久久国产一区二区| 欧美国产91| 亚洲精品在线a| 国产精品美女午夜爽爽| 日韩国产欧美| 日韩中文字幕亚洲一区二区va在线 | 久久免费福利| 久久国产主播| 亚洲精品麻豆| 国产香蕉精品| 亚洲va中文在线播放免费| 伊人久久亚洲影院| 久久国产精品色av免费看| 国内自拍视频一区二区三区| 五月婷婷亚洲| 国产精品探花在线观看| 色老板在线视频一区二区| 免费观看在线综合色| 麻豆久久久久久久| 91久久久精品国产| 国产精品免费不| 欧美一区二区三区激情视频| 一区二区三区网站| 国产aⅴ精品一区二区四区| 亲子伦视频一区二区三区| 视频一区二区三区中文字幕| 嫩草伊人久久精品少妇av杨幂| 美女网站一区| 久久成人福利| 狠狠久久婷婷| 久久伊人国产| 日韩制服丝袜av| 天堂中文av在线资源库|