在vue3+vite中引入高德开放平台API实现边界范围多边形的绘制

在vue3+vite中引入高德开放平台API实现边界范围多边形的绘制

在这里插入图片描述

1,先去高德地图开放平台申请账号注册流程不再赘述;

2,在我的应用中创建key,选择web端Js点击提交生成;
在这里插入图片描述
3,生成后可以看到自己的key

在这里插入图片描述

4,进入项目中使用npm下载依赖

npm i @amap/amap-jsapi-loader --save

5,下载完成后页面组件中引入

import AMapLoader from '@amap/amap-jsapi-loader';

6,引入完成后初始化地图

  //这里是数据
  import { HAILINGdata, JIANGYANdata, GAOXINdata } from './map.js';
  const map = ref<any>(null);
  const mapZoom = ref<number>(10.5);
  //初始化地图
  AMapLoader.load({
    key: '***', //填入你申请的key
    version: '1.4.15', //高德版本 可以不填
    plugins: [ //需要的地图插件
      "AMap.ToolBar",
      "AMap.Driving",
      "AMap.PolygonEditor",
      "AMap.PlaceSearch",
    ]
  }).then(v => {
  	//对地图进行赋值 “container”为div盒子的id
  	//<div class="map" id="container"></div>
    map.value = new v.Map("container", {
      resizeEnable: true, //调整大小启用
      center: [114.573471, 25.128443], //地图中心点坐标
      zoom: 1 //缩放(可能失效)
    });
	
	//因为我这里是需要三个区切换显示所以我做了判断 如果只有一个可以直接赋值;
    var path1 = active.value == 0 ? HAILINGdata : (active.value == 1 ? JIANGYANdata : GAOXINdata);
    //重新创建边界范围对象
    var polygon = new v.Polygon({
      path: path1, //边界的所有坐标
      fillColor: '#0070EF', //覆盖颜色
      strokeOpacity: 1, //边界透明度
      fillOpacity: 0.2, //覆盖颜色后的透明度
      strokeColor: '#0070EF', //边界线条颜色
      strokeWeight: 1, //边界线条宽度
      strokeStyle: 'dashed', //边界线条
      strokeDasharray: [5, 5], //阵列
    });
    map.value.add([polygon]); //将范围对象add到地图中
    map.value.setFitView(); //重新绘制
    map.value.setZoom(mapZoom.value); //注意我这里因为上面zoom缩放失效我这里重新进行set 可以将值写死 也可以写成动态的根据自己项目情况
  })

7,边界数据怎么下载(也就是我这里的 HAILINGdata / JIANGYANdata / GAOXINdata)

可以去阿里的dataV中下载也可以找github上的边界范围下载excel导入到项目中;

官方dome中只有上海和苏州的可以去看看数据格式到时候修改一样即可;

官方demo数据

我自己在github上找的也可以自己找

github地址

如果你觉得不错 希望一键三连 有什么问题评论或者私信看到后我会及时回复的哦~感谢

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cheng Lucky

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值