• 【地图之vue-baidu-map】点击获取坐标(点Marker)、坐标集(多边形polygon)


    点击获取坐标集

    官网链接:Vue Baidu Map

    需求

    1. 绘制多边形

    实现

    第一步:设置打开弹窗的地方

    <el-button @click="clickAddress">坐标集el-button>

    第二步:设置初始值

    1. data() {
    2. return {
    3. center: { lng: 118.83, lat: 31.95 },
    4. zoom: 13,
    5. dialogVisible: false,
    6. polygonPath: []
    7. }
    8. }

    第三步:打开弹窗,将中心点清空,如果是编辑状态赋值坐标点

    1. clickAddress() {
    2. this.dialogVisible = true;
    3. this.polygonPath = this.form.latLng.length > 0 ? this.form.latLng : []
    4. },

    第四步:设置弹窗

    getClickInfo 获取当前点击的经纬度,赋值点给polygonPath。并且将所有经纬度显示出来

    设置多边形

    1. <el-dialog title="项目坐标集" :visible.sync="dialogVisible" width="50%">
    2. <baidu-map
    3. center="江宁"
    4. :zoom="zoom"
    5. @ready="handler"
    6. style="height: 600px"
    7. @click="getClickInfo"
    8. :scroll-wheel-zoom="true"
    9. >
    10. <bm-polygon
    11. :path="polygonPath"
    12. stroke-color="blue"
    13. :stroke-opacity="0.5"
    14. :stroke-weight="2"
    15. :editing="true"
    16. @lineupdate="updatePolygonPath"
    17. />
    18. baidu-map>
    19. <div class="latitude">经纬度:
    20. <div v-for="(item,index) in polygonPath" :key="index">{{item.lng}},{{item.lat}}div>
    21. div>
    22. <span slot="footer" class="dialog-footer">
    23. <el-button @click="dialogVisible = false">取 消el-button>
    24. <el-button type="primary" @click="dialogVisible = false">确 定el-button>
    25. span>
    26. el-dialog>
    1. handler({ BMap, map }) {
    2. console.log(BMap, map);
    3. },
    4. getClickInfo(e) {
    5. this.polygonPath.push({lng: e.point.lng, lat: e.point.lat})
    6. },
    7. updatePolygonPath (e) {
    8. this.polygonPath = e.target.getPath()
    9. },

     第五步:取消就直接关闭弹窗,如果确定就将弹窗中的经纬度赋值给表单中的form.latLng

    1. dialogCancel() {
    2. this.dialogVisible = false;
    3. },
    4. dialogSubmit() {
    5. this.form.latLng = this.polygonPath
    6. this.dialogVisible = false;
    7. }

  • 相关阅读:
    VLOOKUP 函数出现 #N/A 错误的 4 种情况(附解决方法)
    java计算机毕业设计高校教学资源共享平台MyBatis+系统+LW文档+源码+调试部署
    【医学分割】unet3+
    零售超市如何应对消费者需求?非常全面!
    SMP多核启动(一):spin-table
    相位误差对阵列方向图的影响
    Rust 从入门到精通04-变量
    文件系统和日志分析
    css中新型的边框设置属性border-inline
    vue面试题-应用层
  • 原文地址:https://blog.csdn.net/wuli_youhouli/article/details/127918793