zoukankan      html  css  js  c++  java
  • vue在element-ui的dialog弹出框中加入百度地图

    参考:https://blog.csdn.net/u012724595/article/details/82703579

        <!-- gps弹窗 -->
        <el-dialog v-dialogDrag width="500px" title="Gps位置" :visible.sync="dialogFormGps">
          <template>
            <baidu-map class="bm-view" :center="center" :zoom="zoom" :scroll-wheel-zoom="true"
            ak="填自己申请的ak" ref="myMap"
            @ready="mapReady"
            @click="getClickInfo">
              <bm-scale></bm-scale>
            </baidu-map>
          </template>
          <div slot="footer" class="dialog-footer">
            <el-button type="primary" @click="dialogFormGps = false">关 闭</el-button>
            <!-- <el-button type="primary" @click="addData('pojoForm')">确 定</el-button> -->
          </div>
        </el-dialog>
    import {
      BaiduMap,
      BmScale,
      BmNavigation,
      BmOverviewMap,
      BmCityList,
      BmMarker,
      BmControl,
      BmView,
      BmAutoComplete,
      BmLocalSearch
    } from "vue-baidu-map";

    方法: 

        // 百度地图方法
        // 当选择项发生变化时会触发该事件
        handleSelectionChange(val) {
          var i = 0, valLen = val.length;
     
          if (valLen == 0) {
            this.locData.ids = 0;
          } else {
            for (i; i < valLen; i++) {
              if (i == 0) {
                this.locData.ids = val[i].id;
              } else if (i > 0) {
                this.locData.ids += "," + val[i].id;
              }
            }
          }
        },
     
        // 当某一行被点击时会触发该事件   参数:row, event, column
        getRowData(editEqu, event, column) {
          this.$refs.equTable.toggleRowSelection(editEqu);
        },
     
        // 设置定位弹出框
        setLoc(formName) {
          if (this.locData.ids == 0) {
            this.$message({
              message: '请选中装备后再设置定位',
              type: 'warning'
            });
          } else {
            this.locDialog = true;
            map.clearOverlays();
          }
        },
        // 百度地图
        mapReady ({BMap, map}) {
          this.center.lng = 116.404;
          this.center.lat = 39.915;
          this.zoom = 15;
          window.map = map;   //将map变量存储在全局
        },
        // 地图点击事件
        getClickInfo (e) {
          map.clearOverlays();
          var myMarker = new BMap.Marker(new BMap.Point(e.point.lng, e.point.lat));
          map.addOverlay(myMarker);
          this.locData.longitude = e.point.lng;
          this.locData.latitude = e.point.lat;
        },
        // 设置定位确认
        locSubmit(formName) {
          if (this.locData.longitude == "") {
            addOper.$message({
              message: '请单击地图设置定位后再提交',
              type: 'warning'
            });
          } else {
            //  向后台提交locData数据
          }
          this.locDialog = false;
        },
        // 设置定位取消
        locCancle(formName) {
          map.clearOverlays();
          this.locDialog = false;
        }
      }
  • 相关阅读:
    实验四 主存空间的分配和回收
    学期总结
    实验三 进程调度模拟程序
    团队项目
    博客参考评论
    dos系统
    学习进度条
    了解和熟悉操作系统
    问题的思考和回答
    Python-关于脚本和冒泡算法
  • 原文地址:https://www.cnblogs.com/flypig666/p/11674121.html
Copyright © 2011-2022 走看看