vue 高德地图多边形_Vue + 高德地图画矢量图

本文介绍了如何在Vue项目中结合高德地图实现地图功能,包括创建地图对象、动态引入地图脚本、使用MouseTool插件进行画线、圆、矩形、多边形等操作,以及矢量图的编辑、获取经纬度、求面积等功能。此外,还展示了如何自定义鼠标右键事件以实现更多交互。
摘要由CSDN通过智能技术生成

功能需求

引入并创建地图

支持鼠标工具

鼠标画矢量图(线、圆、矩形、多边形)

支持矢量图编辑、获取各点经纬度及求面积等操作

自定义鼠标右键事件

一图胜千言,效果图如下

创建地图对象

//DOM加载后动态引入地图脚本并map初始化

//template

//mounted

this.$nextTick(function() {

this.initMap();

});

initMap() {

var url = 'https://webapi.amap.com/maps?v=1.4.15&key=秘钥;

var jsapi = document.createElement('script');

jsapi.charset = 'utf-8';

jsapi.src = url;

document.head.appendChild(jsapi);

setTimeout(() => {//一秒延迟,等待脚本加载

let that = this;

let map = new AMap.Map('map', {

zoom: 13, //级别

center: [117.226737, 31.820066], //中心点坐标

pitch: 30, // 地图俯仰角度,有效范围 0 度- 83 度

viewMode: '2D' // 地图模式

});

this.MAP = map;//将map挂载到组件data,后续交互需要用到

}, 1000);

},

复制代码

插件介绍(plugin)

map众多功能需要插件的支持官方文档

使用步奏

//1、引入插件,支持按需异步加载和同步加载,可同时引入多个插件

AMap.plugin(

[

'AMap.InfoWindow',

'AMap.ContextMenu',

'AMap.Heatmap',

'AMap.MouseTool',

'AMap.RangingTool',

'AMap.CircleEditor',

'AMap.PolyEditor',

'AMap.ToolBar',

'AMap.Scale',

'AMap.OverView',

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中使用高德地图API多边形需要进行以下步骤: 1. 在index.html中引入高德地图API的js文件: ```html <script src="https://webapi.amap.com/maps?v=1.4.15&key=您的key值"></script> ``` 2. 在Vue组件中使用高德地图API的AMap对象创建地图实例: ```javascript mounted() { // 创建地图实例 this.map = new AMap.Map('mapContainer', { zoom: 13, // 地图缩放级别 center: [116.397428, 39.90923], // 地图中心点坐标 }); } ``` 3. 在地图上绘制多边形: ```javascript drawPolygon() { // 创建多边形路径 const path = [ [116.403322, 39.920255], [116.410703, 39.897555], [116.402292, 39.892353], [116.389846, 39.891365], [116.393699, 39.90684], ]; // 创建多边形实例 const polygon = new AMap.Polygon({ path: path, strokeColor: '#FF33FF', strokeWeight: 6, strokeOpacity: 0.2, fillColor: '#1791fc', fillOpacity: 0.4, }); // 添加多边形到地图 this.map.add(polygon); } ``` 4. 在Vue组件中调用drawPolygon方法,即可在地图上绘制多边形。 完整代码示例: ```html <template> <div id="mapContainer" style="height: 500px;"></div> <button @click="drawPolygon">绘制多边形</button> </template> <script> export default { mounted() { // 创建地图实例 this.map = new AMap.Map('mapContainer', { zoom: 13, // 地图缩放级别 center: [116.397428, 39.90923], // 地图中心点坐标 }); }, methods: { drawPolygon() { // 创建多边形路径 const path = [ [116.403322, 39.920255], [116.410703, 39.897555], [116.402292, 39.892353], [116.389846, 39.891365], [116.393699, 39.90684], ]; // 创建多边形实例 const polygon = new AMap.Polygon({ path: path, strokeColor: '#FF33FF', strokeWeight: 6, strokeOpacity: 0.2, fillColor: '#1791fc', fillOpacity: 0.4, }); // 添加多边形到地图 this.map.add(polygon); }, }, }; </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值