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

您的位置:首頁技術(shù)文章
文章詳情頁

vue中調(diào)用百度地圖獲取經(jīng)緯度的實現(xiàn)

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

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

vue中調(diào)用百度地圖獲取經(jīng)緯度的實現(xiàn)

默認自動獲取當前位置經(jīng)緯度

vue中調(diào)用百度地圖獲取經(jīng)緯度的實現(xiàn)

拖動小紅標 獲取經(jīng)緯度

vue中調(diào)用百度地圖獲取經(jīng)緯度的實現(xiàn)

關(guān)鍵詞 查詢獲取經(jīng)緯度

前期準備

首先,我們需要取百度官方申請一個地圖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>

如上所示,紅色區(qū)域為AK值,自行拼接自己的,可以設(shè)置權(quán)限為公開或者針對網(wǎng)址白名單。

<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='當前經(jīng)度'> <p>{{longitude}}</p> </el-form-item> <el-form-item> <div class='f-a-c'> <el-input v-model='keyWords' placeholder='請輸入地區(qū)' 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}// 打印經(jīng)緯度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; //獲取第一個智能搜索的結(jié)果 this.map.centerAndZoom(point, 18); this.handleMarker(this, point); console.log('經(jīng)度:' + point.lng + '--' + '緯度' + point.lat); this.latitude = point.lat; this.longitude = point.lng; } else { this.$message.error('未匹配到地點!'); }} else { this.$message.error('未找到搜索結(jié)果!');} }, // 設(shè)置標注 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) { // 監(jiān)聽標注的拖拽,獲取拖拽后的經(jīng)緯度 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='當前經(jīng)度'> <p>{{longitude}}</p> </el-form-item> <el-form-item> <div class='f-a-c'> <el-input v-model='keyWords' placeholder='請輸入地區(qū)' 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}// 打印經(jīng)緯度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; //獲取第一個智能搜索的結(jié)果 this.map.centerAndZoom(point, 18); this.handleMarker(this, point); console.log('經(jīng)度:' + point.lng + '--' + '緯度' + point.lat); this.latitude = point.lat; this.longitude = point.lng; } else { this.$message.error('未匹配到地點!'); }} else { this.$message.error('未找到搜索結(jié)果!');} }, // 設(shè)置標注 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) { // 監(jiān)聽標注的拖拽,獲取拖拽后的經(jīng)緯度 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>

到此這篇關(guān)于vue中調(diào)用百度地圖獲取經(jīng)緯度的實現(xiàn)的文章就介紹到這了,更多相關(guān)vue調(diào)用百度地圖獲取經(jīng)緯度內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: 百度 地圖
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲天堂免费| 国产一区二区三区四区| 在线看片国产福利你懂的| 色乱码一区二区三区网站| 高清久久一区| 99久久久久| 日韩中文欧美在线| 亚洲在线久久| 日韩精品一区二区三区av | 国产精品免费看| 亚洲大全视频| 蜜桃久久久久久久| 国产精品夜夜夜| 久久久水蜜桃av免费网站| 亚洲一区亚洲| 国产人成精品一区二区三| 精品久久在线| 亚洲成人精品| 一区二区三区国产盗摄| 欧美专区一区| 国产传媒在线观看| 野花国产精品入口| 国产精品一级| 欧美高清一区| 国产调教一区二区三区| 精品丝袜在线| 日韩黄色av| 日韩国产欧美一区二区| 国产麻豆综合| 国产经典一区| 91久久视频| 日本va欧美va瓶| 日韩高清不卡| 日韩区欧美区| 亚洲黄色免费看| 免费视频最近日韩| 国产精品麻豆久久| 一本综合精品| 丁香六月综合| 日韩成人午夜精品| 久久精品高清| 国产亚洲久久| 亚洲精品1区2区| 成人亚洲精品| 亚洲精品少妇| 久久蜜桃av| 国产日本久久| 免费日韩精品中文字幕视频在线| 精品一区二区三区在线观看视频| 国产精品99免费看| 麻豆精品久久久| 亚洲深夜福利在线观看| 久久国产成人午夜av影院宅| 国产日韩欧美中文在线| 伊人影院久久| 日韩欧美中文| 国产欧美在线| 亚洲婷婷丁香| 午夜电影亚洲| 一本大道色婷婷在线| 国产精品白浆| 亚洲2区在线| 亚洲欧美日韩视频二区| 天堂√8在线中文| 国产调教精品| 亚洲午夜国产成人| 一区在线免费| 91超碰国产精品| 日韩一区二区三区在线免费观看| 国产精久久一区二区| 亚洲免费资源| 欧美在线综合| 免费黄色成人| 日韩综合精品| 黄色aa久久| 黄色精品视频| 国产精品v亚洲精品v日韩精品| 亚洲精品自拍| 日本欧洲一区二区| 91成人精品视频| 久久中文字幕二区| 中文av在线全新| 美女视频黄免费的久久| 国产精品亚洲综合久久| 欧美综合精品| 国产精品美女久久久久久不卡| 日韩高清三区| 日韩精品亚洲aⅴ在线影院| 免费人成网站在线观看欧美高清| 久久久亚洲欧洲日产| 麻豆91在线播放| 国产精品麻豆成人av电影艾秋| 日韩国产在线不卡视频| 亚洲精品亚洲人成在线观看| 国产精品美女久久久| 国产亚洲一级| 亚洲天堂av资源在线观看| 日韩精品影视| 国产真实久久| 免播放器亚洲| 在线视频亚洲欧美中文| 午夜视频一区二区在线观看| 日韩**一区毛片| 国产欧美日韩在线一区二区 | 超碰超碰人人人人精品| 国产精成人品2018| 老司机精品视频在线播放| 日本不卡不码高清免费观看| 亚洲精一区二区三区| 在线精品亚洲| 欧美一区网站| 国产精品成久久久久| 日韩国产在线| 激情综合网站| 蜜臀久久久久久久| 91欧美极品| 久久麻豆视频| 91精品啪在线观看国产18| av亚洲免费| 日本大胆欧美人术艺术动态| **爰片久久毛片| 97精品97| 午夜av一区| 欧美综合社区国产| 国产一区二区三区不卡视频网站 | 欧美日韩一区二区三区在线电影| 国产亚洲欧美日韩在线观看一区二区| 国产伦精品一区二区三区千人斩| 精品精品99| 国产婷婷精品| 国产精品亚洲综合在线观看| 欧美日韩精品免费观看视完整| 先锋影音国产一区| 国产精品高清一区二区| 99精品视频在线| 日本欧美一区| 成人日韩精品| 日韩精品免费一区二区夜夜嗨 | 欧美午夜不卡影院在线观看完整版免费| 欧美精品一区二区三区精品| 欧美日韩va| 欧美亚洲激情| 国产精品一区二区三区四区在线观看 | 欧美性www| 色欧美自拍视频| 日韩中文欧美在线| 伊人久久在线| 青青草91视频| 激情91久久| 久久精品人人| 欧美一区=区| 精品在线网站观看| 石原莉奈一区二区三区在线观看| 欧美成人一二区| 天堂成人免费av电影一区| 亚洲成人精品| 97精品视频在线看| 日本一二区不卡| 国产一区成人| 国产美女久久| 欧美精品资源| 国产毛片一区二区三区| 最新日韩av| 欧美激情另类| 欧美色综合网| 亚洲欧美日韩精品一区二区| 三级在线看中文字幕完整版| **爰片久久毛片| 喷白浆一区二区| 色婷婷久久久| 国产精品大片| 日本综合视频| 亚洲少妇一区| 视频小说一区二区| 久久99性xxx老妇胖精品| 亚洲男女自偷自拍| 欧美13videosex性极品| 国产精品亚洲产品| 免费精品视频在线| 亚洲韩日在线| 麻豆网站免费在线观看| 欧美交a欧美精品喷水| 日本麻豆一区二区三区视频| 日韩精品一卡二卡三卡四卡无卡| 亚洲特色特黄| 久久久久久久久99精品大| 老牛国内精品亚洲成av人片| 日韩国产欧美一区二区三区| 久久av一区| 不卡中文一二三区| 日韩一区二区三区免费播放| 精品视频一区二区三区四区五区| 欧美一级网址| 日韩精品久久理论片| 国产精品美女久久久浪潮软件| 久久精品国产99久久| 99久久激情| 99精品在线| 亚洲天堂黄色| 美女毛片一区二区三区四区 |