Vue中使用百度地图绘制多个多边形

  • 因公司项目需要绘制配送范围 之前也没接触过百度地图这一块 自己花了些时间去研究了一下 目前可实现绘制多个圆形、多个多边形

该功能是一个组件 直接放入项目即可

<template>
  <div>
    <div class="map">
      <div class="title">
        <div>
          <img src="@/assets/home/z_x_green_mini.png" alt />
        </div>
        <div>请选定配送范围 <span style="color:red;fontSize:14px;"> (注:最多只能绘制5个配送范围)</span></div>
      </div>
      <div class="container" id="container">
        <baidu-map
          class="bm-view"
          :center="center"
          :zoom="zoom"
          @ready="handler"
          @click="clickEvent"
          :inertial-dragging="true"
          :scroll-wheel-zoom="true"
        >
          <div>
            <bm-polygon
              v-for="(item,i) in polygonPath"
              :key="i"
              :path="item"
              stroke-color="blue"
              :stroke-opacity="0.5"
              :stroke-weight="2"
              :editing="true"
              :clicking="false"
              @lineupdate="updatePolygonPath($event,i)"
            />
          </div>

          <div>
            <bm-geolocation
              anchor="BMAP_ANCHOR_BOTTOM_RIGHT"
              :showAddressBar="true"
              :autoLocation="true"
            ></bm-geolocation>
          </div>

          <div>
            <bm-city-list anchor="BMAP_ANCHOR_TOP_LEFT"></bm-city-list>
          </div>
        </baidu-map>

        <div class="draw" @click="ploy">绘制多边形</div>
        <!-- <div class="exit" @click=
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
您好,要在Vue2使用百度地图绘制车辆轨迹,可以按照以下步骤进行操作: 1. 引入百度地图JavaScript API 在Vue组件的`<script>`标签使用以下代码引入百度地图JavaScript API: ``` <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script> ``` 其,`ak`是您的百度地图开发者密钥,需要替换成您自己的密钥。 2. 创建地图容器 在Vue组件的`<template>`标签使用以下代码创建一个地图容器: ``` <div id="map" style="width: 100%; height: 500px;"></div> ``` 其,`id`为`map`的div元素将作为地图容器,`width`和`height`属性可以根据实际情况进行调整。 3. 初始化地图 在Vue组件的`<script>`标签使用以下代码初始化地图: ``` mounted() { // 百度地图API功能 var map = new BMap.Map("map"); // 创建地图实例 var point = new BMap.Point(116.404, 39.915); // 创建点坐标 map.centerAndZoom(point, 15); // 初始化地图,设置心点坐标和地图级别 map.enableScrollWheelZoom(true); // 开启鼠标滚轮缩放 } ``` 其,`mounted`钩子函数表示组件已经挂载到页面上,可以在这里初始化地图。`BMap.Map`表示创建一个地图实例,`BMap.Point`表示创建一个点坐标,`map.centerAndZoom`表示设置地图的心点坐标和级别,`map.enableScrollWheelZoom`表示开启鼠标滚轮缩放。 4. 绘制车辆轨迹 在Vue组件的`<script>`标签使用以下代码绘制车辆轨迹: ``` drawPath() { // 百度地图API功能 var map = new BMap.Map("map"); // 创建地图实例 var points = [new BMap.Point(116.404, 39.915), new BMap.Point(116.414, 39.915), new BMap.Point(116.424, 39.915)]; // 创建点坐标数组 var polyline = new BMap.Polyline(points, {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5}); // 创建折线对象 map.addOverlay(polyline); // 将折线添加到地图 } ``` 其,`drawPath`函数表示绘制车辆轨迹,`BMap.Polyline`表示创建一个折线对象,`points`表示点坐标数组,`{strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5}`表示折线的颜色、宽度和透明度,`map.addOverlay`表示将折线添加到地图。 注意:在实际开发,需要根据车辆实时位置不断更新点坐标数组,并重新绘制折线对象。 希望这些内容能够帮助您在Vue2使用百度地图绘制车辆轨迹。如果您有任何问题,请随时联系我。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值