• 【地图之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. }

  • 相关阅读:
    vue相关面试题:diff算法
    python学习笔记(4)—— 模型
    开源大模型RAG企业本地知识库问答机器人-ChatWiki
    SpringMVC框架中DispatcherServlet分发请求给对应处理器
    【css面试题】 实现一个盒子的水平竖直居中对齐效果
    示例之全选和反选以及取消
    Django — 请求和响应
    使用开源ros包实现导航功能(一)
    LeetCode70-爬楼梯
    C陷阱与缺陷 第3章 语义“陷阱” 3.3 作为参数的数组声明
  • 原文地址:https://blog.csdn.net/wuli_youhouli/article/details/127918793