vue 高德地图多边形_20秒使用vue高德地图绘制行政区域

本文介绍了如何在Vue项目中使用高德地图绘制行政区域,包括加载地图、监听地图点击事件以及绘制指定区域(如盱眙县)的边界。通过AMap.DistrictSearch插件查询行政边界,并创建Polygon对象来展示多边形区域。
摘要由CSDN通过智能技术生成

效果图:

image.png

步骤一:先在最外成html挂载行政区域所用的代码

步骤二:直接赋值代码:

import AMap from "AMap";

export default {

data() {

return {

weXinAmapMap: null,

};

},

watch: {},

created() {},

mounted() {

this.mapInit('map');

},

methods: {

mapInit(domName) {

let _self = this;

let domDiv = domName || 'map'

_self.weXinAmapMap = new AMap.Map(domDiv, {

center: [118.54436,33.011971],

mapStyle: "amap://styles/1610afaf5f3e06b9757b81fce626e050",

zooms: [1, 18],

zoom: 9.6,

});

AMap.event.addListener(_self.weXinAmapMap, "click", function(e) {

var x = e.lnglat.getLng();

var y = e.lnglat.getLat();

});

_self.drawDistrictBorder();

},

/*

*@description:绘制盱眙县的区域边界图

*@date: 2020-09-20 14:42:15

*/

drawDistrictBorder() {

let _self = this;

//加载行政区划插件

var district = null;

var opts = {

subdistrict: 0, //获取边界不需要返回下级行政区

extensions: "all", //返回行政区边界坐标组等具体信息

level: "district", //查询行政级别为 市

};

district = new AMap.DistrictSearch(opts);

//设置行政区

district.setLevel("district");

district.search("盱眙县", function(status, result) {

var polygons = [];

var bounds = result.districtList[0].boundaries;

if (bounds) {

for (var i = 0, l = bounds.length; i < l; i++) {

//生成行政区划polygon

var polygon = new AMap.Polygon({

strokeWeight: 3,

strokeColor: "#00F6FF",

path: bounds[i],

fillColor: '#00F6FF',

fillOpacity: 0.1,

});

polygons.push(polygon);

}

}

_self.weXinAmapMap.add(polygons);

});

},

}

};

.map {

margin-left: 20px;

width: 776px;

height: 600px;

}

祝君安好~

另,因为文章写得匆忙,若无法显示的及时留言,看到回复

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值