高德地图-----矢量图形

本文介绍了如何在Vue项目中封装高德地图组件,并创建一个子组件用于绘制矢量线路。首先在公共HTML文件中引入高德地图API并配置ESLint以识别AMap和AMapUI。接着,创建`scottMap.vue`作为全局地图组件,根据传入的参数决定是否显示矢量线路。然后,`mapVectorLine.vue`负责绘制和关闭线路。最后,在页面中调用`scottMap`组件,通过`isVectorLine`属性控制显示矢量线路。

准备工作

  1. 在public中的index.html中初始化地图
<script src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script>
  1. 在 .eslintrc.js 中配置AMap和AMapUI
globals: {
   
   
    "AMap": "true",
    "AMapUI":"true",
  }

实现思路

  1. 封装一个全局组件scottMap.vue,用于加载地图
  2. 封装一个基于scottMap.vue的组件mapVectorLine.vue,用于在地图上画出矢量图形
  3. 通过v-if和组件传参,确定需要的地图组件
  4. 组件嵌套封装代码(一个地图上面有多个功能),相比一个地图上封装一个功能,这种方式加载速度更快

scottMap.vue

<template>
  <div class="m-map">
    <div id="js-container" class="map">正在加载数据 ...</div>
    <div class="route">
        <map-vector-line v-if="isVectorLine" :map="map"></map-vector-line>
    </div>
  </div>
</template>

<script>
import MapVectorLine from './scottMap/mapVectorLine.vue'
/*
  传递参数:
    1. isVectorLine:  是否需要矢量路
*/
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值