您好,登錄后才能下訂單哦!
本篇內容主要講解“Vue怎么使用手機地圖實現城市定位”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Vue怎么使用手機地圖實現城市定位”吧!
一 前端選擇框點擊跳轉至地圖選址頁面
<van-row class="address_item"> <van-col span="6" class="item-title">收貨地址</van-col> <van-col span="18"> <p class="item"> <van-icon name="arrow" class="arrow"/> <van-icon name="location-o" /> <span><van-field v-model="mapname" placeholder="點擊選擇" readonly v-on:click="mapaddress"/></span> </p> </van-col> </van-row>
二 觸發點擊事件
mapaddress(){ et a=this.$route.query.id localStorage.setItem('names',this.names); localStorage.setItem('phone',this.phone); localStorage.setItem('addressDetail',this.addressDetail); localStorage.setItem('postalCode',this.postalCode); localStorage.setItem('checked',this.checked); this.$router.push({ path: '/mapLocation', query: {id:a,are:this.are} }) }
三 地圖選址頁面
使用ifarm內嵌引入高德地圖組件高德地圖 注意使用地圖需要申請key申請時注意根據自己需求選擇服務
<template> <iframe id="getAddress" @load="loadiframe" src="https://m.amap.com/picker/?keywords=寫字樓,小區,學校&zoom=15¢er=&radius=1000&total=20&key=你申請的key" > </iframe> </template>
四 地圖加載完成選擇地址后跳轉至父頁面
由于我的需求在輸入后跳轉父頁面,父頁面的表單會刷新,所以做了一個緩存處理。
loadiframe() { let iframe = document.getElementById('getAddress').contentWindow; iframe.postMessage('hello', 'https://m.amap.com/picker/'); window.addEventListener("message", function (e) { if (e.data.command != "COMMAND_GET_TITLE") { //實現業務代碼 let a=this.$route.query.id let are=this.$route.query.are let address=e.data.address let location=e.data.location let name=e.data.name this.$router.push({ path: '/addressFill', query: {address:address,location:location,name:name,id:a,are:are} }) } }.bind(this), false); },
五 緩存處理
在跳轉子地圖選擇頁面時將表單數據存入緩存,子頁面跳轉回來時當前頁面表單數據不刷新。
localStorage.setItem('names',this.names); localStorage.setItem('phone',this.phone); localStorage.setItem('addressDetail',this.addressDetail); localStorage.setItem('postalCode',this.postalCode); localStorage.setItem('checked',this.checked);
六 清除緩存
緩存解決了頁面返回無數據的情況,但是同時會產生這個頁面的緩存一直存在,所以,在返回當前頁面時進行驗證,并清除緩存
let addressDetail= localStorage.getItem('addressDetail'); if(addressDetail!=undefined&&addressDetail!=null&&addressDetail!=""){ this.addressDetail=addressDetail localStorage.removeItem("addressDetail"); }else{ this.addressDetail="" }
到此,相信大家對“Vue怎么使用手機地圖實現城市定位”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。