vue+elementui 调用百度地图获取经纬度

  • 申请百度地图api
  • 登录百度帐号
  • 下载百度地图插件
    npm install vue-baidu-map --save
    
  • 引入页面
    <div class="map" ref="map">
                <!-- 地图实例 -->
                <baidu-map
                  class="bmView"
                  :scroll-wheel-zoom="true"
                  :center="location"
                  :zoom="zoom"
                  @ready="handler"
                  ak="xxx"
                >
                  <!-- 地图显示 -->
                  <bm-view style="width: 100%; height: 400px; flex: 1"></bm-view>
                  <!-- 标记点组件 -->
                  <bm-marker
                    :position="{ lng: location.lng, lat: location.lat }"
                  ></bm-marker>
                  <!-- 搜索控件 -->
                  <bm-control>
                    <bm-auto-complete
                      v-model="form1.address"
                      :sugStyle="{ zIndex: 999999 }"
                      @confirm="handleConfirm"
                    >
                      <el-input
                        v-model="form1.address"
                        placeholder="请输入地址来直接查找相关位置"
                        style="width: 500px"
                      ></el-input>
                    </bm-auto-complete>
                  </bm-control>
                </baidu-map>
              </div>
     
  • import {BaiduMap,BmView,BmMarker,BmControl,BmAutoComplete} from "vue-baidu-map";
     
  • components: {
    	    BaiduMap,
    	    BmMarker,
    	    BmView,
    	    BmControl,
    	    BmAutoComplete,
    	  },	
      data() {
        return {  // 要搜索的关键词
    	      BMap: null,
    	      // 地图显示的中心坐标
    	      location: {
    	        lng: 108.3444553,
    	        lat: 22.81879829,
    	      },
    	      // 缩放,15基本上就可以看附近的一些街道了
    	      zoom: 15,
    	      keyWord: ""
             }
        }
     
handler(BMap) {
	      this.BMap = BMap;
	    },
	    handleConfirm({ item }) {
	      const that = this;
	      let queryString = `${item.value.city}${item.value.district}${item.value.business}`;
	      var myGeo = new BMap.Geocoder();
	      myGeo.getPoint(queryString, function (point) {
	        if (point) {
	          console.log(point, "point");
	          that.location = point;
	        }
	      });
	    }

 完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值