赞
踩
1.点击一个点获取当前位置的地址,信息窗展示效果。
第一步:初始化定义数据
- data() {
- return {
- point:null,
- BMap: null,
- map: null,
-
- address: '',
- infoWindowShow:false,
- longitude:'',
- latitude:'',
- };
- },
第二步:地图初始化、点的位置。
- //地图初始化
- mapReady({ BMap, map }) {
- this.BMap=BMap
- this.map=map
- this.point = new BMap.Point(113.27, 23.13); // 选择一个经纬度作为中心点
- map.centerAndZoom(this.point, 12); //设置地图中心点和缩放级别
- },
- //点击获取经纬度
- getLocation(e){
- this.longitude=e.point.lng
- this.latitude=e.point.lat
-
- console.log(e.point)
- const myGeo = new BMap.Geocoder() // 创建地址解析器的实例
- myGeo.getLocation(e.point, rs => {
- // console.log(rs.surroundingPois) // 附近的POI点(array)
- // console.log(rs.business) // 商圈字段
- let adr = rs.addressComponents
- this.address = adr.province + adr.city + adr.district + adr.street + adr.streetNumber // 省市区街道门牌号
- this.infoWindowShow=true
- console.log(this.address)
- })
- },
- //信息窗口关闭
- infoWindowClose(){
- this.latitude=''
- this.longitude=''
- this.infoWindowShow=false
- },
第三步 :组件渲染
- <baidu-map class="search-view" @ready="mapReady" @click="getLocation">
- <!-- 弹框 -->
- <bm-info-window :position="{lng: longitude, lat: latitude}" :show="infoWindowShow" @clickclose="infoWindowClose">
- <p>{{ address }}</p>
- </bm-info-window>
- </baidu-map>
第四步:样式
- .search-view {
- width: 300px;
- height: 300px;
- margin-top: 50px;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。