vue调用腾讯地图绘制几何图形

1.首先需要引入腾讯地图的JavaScript API库。可以通过CDN或者本地文件引入。在index.html中引入

<script charset="utf-8" src="https://map.qq.com/api/gljs?libraries=tools&v=1.exp&key=YOUR_KEY"></script>

其中YOUR_KEY为你自己申请的腾讯地图开发密钥。

2.创建一个容器元素来显示地图。可以在Vue组件的模板中添加一个div元素,并设置id属性

<template>
    <div id="mapContainer" style="width: 1400px; height: 800px"></div>
</template>

这里将地图容器大小设定为1400x800像素。

3.初始化地图对象,并调用相关API绘制几何图形,并在生命周期函数中调用

    data() {
        return {
          activeId: "polygon", // 初始化默认值
          editor: "",
          map: null,
          totals: [],
        };
    },


    mounted() {
      this.$nextTick(() => {
        this.initMap();
      });
    },


    initMap() {
      this.map = new TMap.Map(document.getElementById("mapContainer"), {
        zoom: 14, // 设置地图缩放级别
        center: new TMap.LatLng(30.656964, 104.066186), // 设置地图中心点坐标
      });
      var polygon = new TMap.MultiPolygon({
        map: this.map,
      });
      this.editor = new TMap.tools.GeometryEditor({
        // TMap.tools.GeometryEditor 文档地址:https://lbs.qq.com/webApi/javascriptGL/glDoc/glDocEditor
        map: this.map, // 编辑器绑定的地图对象
        overlayList: [
          // 可编辑图层 文档地址:https://lbs.qq.com/webApi/javascriptGL/glDoc/glDocEditor#4
          {
            overlay: polygon,
            id: "polygon",
          },
        ],
        actionMode: TMap.tools.constants.EDITOR_ACTION.DRAW, // 编辑器的工作模式
        activeOverlayId: this.activeId, // 激活图层
        snappable: true, // 开启吸附
      });
      // 监听绘制结束事件,获取绘制几何图形
      this.editor.on("draw_complete", (geometry) => {
        console.log('所有顶点坐标集合', geometry);
        // 多边形处理
        if (this.activeId === "polygon") {
          console.log("得到顶点经纬度的数组", geometry.paths);
        }
      });
    },
使用说明:

绘制:鼠标左键点击及移动即可绘制图形
结束绘制:鼠标左键双击即可结束多边形、折线会自动闭合(圆形、矩形、椭圆单击即可结束)
中断:绘制过程中按下esc键可中断该过程

提示:

我这里只做了绘制多边形,其余的折线、圆形、矩形、椭圆,按照官网文档添加即可

  • 9
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值