当前位置:   article > 正文

【vue-baidu-map】点击获取当前具体地址_百度地图点击获取地址

百度地图点击获取地址

点击获取当前地址 

需求

1.点击一个点获取当前位置的地址,信息窗展示效果。

实现

第一步:初始化定义数据

  1. data() {
  2. return {
  3. point:null,
  4. BMap: null,
  5. map: null,
  6. address: '',
  7. infoWindowShow:false,
  8. longitude:'',
  9. latitude:'',
  10. };
  11. },

第二步:地图初始化、点的位置。 

  1. //地图初始化
  2. mapReady({ BMap, map }) {
  3. this.BMap=BMap
  4. this.map=map
  5. this.point = new BMap.Point(113.27, 23.13); // 选择一个经纬度作为中心点
  6. map.centerAndZoom(this.point, 12); //设置地图中心点和缩放级别
  7. },
  8. //点击获取经纬度
  9. getLocation(e){
  10. this.longitude=e.point.lng
  11. this.latitude=e.point.lat
  12. console.log(e.point)
  13. const myGeo = new BMap.Geocoder() // 创建地址解析器的实例
  14. myGeo.getLocation(e.point, rs => {
  15. // console.log(rs.surroundingPois) // 附近的POI点(array)
  16. // console.log(rs.business) // 商圈字段
  17. let adr = rs.addressComponents
  18. this.address = adr.province + adr.city + adr.district + adr.street + adr.streetNumber // 省市区街道门牌号
  19. this.infoWindowShow=true
  20. console.log(this.address)
  21. })
  22. },
  23. //信息窗口关闭
  24. infoWindowClose(){
  25. this.latitude=''
  26. this.longitude=''
  27. this.infoWindowShow=false
  28. },

第三步 :组件渲染

  1. <baidu-map class="search-view" @ready="mapReady" @click="getLocation">
  2. <!-- 弹框 -->
  3. <bm-info-window :position="{lng: longitude, lat: latitude}" :show="infoWindowShow" @clickclose="infoWindowClose">
  4. <p>{{ address }}</p>
  5. </bm-info-window>
  6. </baidu-map>

第四步:样式 

  1. .search-view {
  2. width: 300px;
  3. height: 300px;
  4. margin-top: 50px;
  5. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/109878
推荐阅读