vue-amap 주소 에 따라 지 도 를 표시 하고 mark 작업
직접 코드 올 리 기:
main.js 에 도입
import Vue from 'vue'
import VueAMap from 'vue-amap'
import App from './App'
import router from './router'
Vue.config.productionTip = false
localStorage.clear();
Vue.use(VueAMap)
VueAMap.initAMapApiLoader({
// key
key: "cc644a48b701c256e9a827f068743fdd",
//
plugin: [
"AMap.Autocomplete",//
"AMap.PlaceSearch",// POI
"AMap.Scale",//
"AMap.OverView",//
"AMap.ToolBar",//
"AMap.MapType",// , 、
"AMap.PolyEditor",// ,
"AMap.CircleEditor",//
"AMap.Geolocation", // ,
"AMap.Geocoder",// ,
"AMap.AMapUI",// UI
],
v: "1.4.4",
uiVersion: "1.0.11" //
});
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
쇼 맵 구성 요소 파일 호출
<template>
<div class="myIndexWrap">
<!-- -->
<div class="addrMapWrapper">
<h3> </h3>
<div class="addrWrapper">
<p>{{selAddr}}</p>
<ShowMap class="showMapBox" :selAddr="selAddr"/>
</div>
</div>
</div>
</template>
<script type='text/ecmascript-6'>
import ShowMap from "@/components/ShowMap.vue";//
export default {
components: {
ShowMap
},
data() {
return {
selAddr:' B2 ',
};
},
};
</script>
<style lang='scss' scoped>
.myIndexWrap {
width: 1200px;
min-height: 800px;
height: auto;
border: 1px solid #000;
display: flex;
flex-flow: column;
h3 {
padding-left: 50px;
}
//
.addrMapWrapper {
.addrWrapper{
margin-left: 50px;
}
}
}
</style>
ShowMap.vue
<template>
<div class="showMapWrapper">
<el-amap
vid="map"
class="amap-box"
:zoom="zoom"
:plugin="plugin"
:events="events"
:center="center"
>
<el-amap-marker vid="marker" :position="center" :label="label"></el-amap-marker>
</el-amap>
</div>
</template>
<script type='text/ecmascript-6'>
export default {
components: {},
props:{
selAddr:{
type:String,
default:''
}
},
data() {
let self = this;
return {
zoom: 18,
lng: 0,
lat: 0,
loaded: false,
address: this.selAddr,
//mark tip
label:{
content:this.selAddr,
offset:[10,12]
},
center: [0,0],
//
plugin: [
//
{
pName: "ToolBar",
positon: "LB"
},
],
events: {
init(map) {
// SDK 。
var geocoder = new AMap.Geocoder({
radius: 1000,
extensions: "all",
city: " "
});
geocoder.getLocation(self.address, (status, result) => {
if (status === "complete" && result.geocodes.length) {
let lnglat = result.geocodes[0].location
self.lng = lnglat.lng;
self.lat = lnglat.lat;
self.center = [self.lng, self.lat];
}
});
}
}
};
},
};
</script>
<style lang='scss' scoped>
.showMapWrapper {
width: 500px;
height: 500px;
border: 1px solid #999;
}
</style>
대성 공~추가 지식:vant 에서 Address Edit 주소 편집 설정 핸드폰 번호 형식 검사
AddressEdit 구성 요소 의 tel-validator 핸드폰 번호 형식 으로 API 를 검사 합 니 다.
추가:tel-validator="validator"
<VanAddressEdit
:area-list="areaList"
:address-info="addressInfo"
:show-delete="Boolean(editId)"
show-postal
:is-saving="isSaving"
:is-deleting="isDeleting"
save-button-text=" "
delete-button-text=" "
@save="onSave"
@delete="onDelete"
:tel-validator="validator"
>
methods 에서 필요 한 핸드폰 번호 형식 을 정규 로 설정 합 니 다.
methods: {
validator(e) {
console.log(e);
let myreg1 = /^[1][3,4,5,7,8][0-9]{9}$/;
let myreg2 = /^[2][3,4,5,7,8][0-9]{6}$/;
if (!myreg1.test(e) && !myreg2.test(e)) {
console.log(" ");
return false;
} else{
console.log(' ')
return true
}
},
}
이상 의 vue-amap 는 주소 에 따라 지 도 를 표시 하고 mark 의 조작 은 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 께 참고 가 되 고 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정규식으로 주소를 번지 전후로 분할자바에서 정규식을 사용하여 주소를 주소 앞뒤로 나누려고합니다. 콘솔에서 주소를 입력하면 분할된 주소가 표시됩니다. ※ 어디까지나 간략한 것이고, 모든 주소를 완벽하게 분할할 수 있는 것이 아니므로 양해 바랍니다. 절...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.