news 2026/5/23 18:16:15

WebGIS开发智慧校园(16)地图覆盖物-矢量图形

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
WebGIS开发智慧校园(16)地图覆盖物-矢量图形

往期内容:
WebGIS开发智慧校园(1)GIS开发的基本概念
WebGIS开发智慧校园(2)WebGIS开发平台介绍
WebGIS开发智慧校园(3)开发环境搭建
WebGIS开发智慧校园(4)Web开发HTML
WebGIS开发智慧校园(5)Web开发CSS
WebGIS开发智慧校园(6)JavaScript
WebGIS开发智慧校园(7)开发准备
WebGIS开发智慧校园(8)地图控件
WebGIS开发智慧校园(9)点标记和几何计算
WebGIS开发智慧校园(10)GeoJSON
WebGIS开发智慧校园(11)测试高德API
WebGIS开发智慧校园(12)测试高德API地图参数
WebGIS开发智慧校园(13)地图的组成和操作
WebGIS开发智慧校园(14)地图控件的添加
WebGIS开发智慧校园(15)地图点击事件的引入和点标记

+文末↓小助手,备注【智慧校园】无偿获取 【完整版视频+笔记源码】

1. 折线 polyline

通过构建经纬度点数组,添加图层来绘制折线:

代码如下:这里需要考虑的是,如何动态的⽣成折线数组,能否实现点击⼀下就添加⼀段?

// 折线的节点坐标数组,每个元素为 AMap.LngLat 对象 var path = [newAMap.LngLat(116.368904,39.913423),newAMap.LngLat(116.382122,39.901176),newAMap.LngLat(116.387271,39.912501),newAMap.LngLat(116.398258,39.904600)];// 创建折线实例varpolyline=newAMap.Polyline({path:path,borderWeight:2,// 线条宽度,默认为 1 strokeColor: 'red', // 线条颜⾊lineJoin:'round'// 折线拐点连接处样式});// 将折线添加⾄地图实例map.add(polyline);

2. 多边形polygon

和折线的引⼊形式类似,可以添加多边形。

相应的代码如下:

// 多边形轮廓线的节点坐标数组varpath=[newAMap.LngLat(116.368904,39.913423),newAMap.LngLat(116.382122,39.901176),newAMap.LngLat(116.387271,39.912501),newAMap.LngLat(116.398258,39.904600)];varpolygon=newAMap.Polygon({path:path,fillColor:'#fff',// 多边形填充颜⾊borderWeight:2,// 线条宽度,默认为 1strokeColor:'red',// 线条颜⾊});map.add(polygon);

3. 圆形circle

圆形只需要指定圆⼼坐标和半径即可

varcircle=newAMap.Circle({center:newAMap.LngLat(116.39,39.9),// 圆⼼位置radius:1000,// 圆半径fillColor:'red',// 圆形填充颜⾊strokeColor:'#fff',// 描边颜⾊strokeWeight:2,// 描边宽度});map.add(circle);

这里有⼀个问题,就是经纬度网其实并不见得就是矩形,这⾥涉及到后面要了解的投影变换的概 念。后面要留意。

代码:

varsouthWest=newAMap.LngLat(116.356449,39.859008)varnorthEast=newAMap.LngLat(116.417901,39.893797)varbounds=newAMap.Bounds(southWest,northEast)varrectangle=newAMap.Rectangle({bounds:bounds,strokeColor:'red',strokeWeight:6,strokeOpacity:0.5,strokeDasharray:[30,10],// strokeStyle还⽀持 solidstrokeStyle:'dashed',fillColor:'blue',fillOpacity:0.5,cursor:'pointer',zIndex:50,})map.add(rectangle)

4. 折线的编辑

可以引⼊编辑器插件来实现在线更新折线。

// 引⼊多边形编辑器插件map.plugin(["AMap.PolylineEditor"],function(){// 实例化多边形编辑器,传⼊地图实例和要进⾏编辑的多边形实例polylineEditor=newAMap.PolylineEditor(map,polyline);// 开启编辑模式polylineEditor.open();});

实现效果如下:

通过拖动折线的节点,就可以改变折线的形状了。

+文末↓小助手,备注【智慧校园】无偿获取 【完整版视频+笔记源码】

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/20 15:24:10

【人工智能】【企业管理】企业知识库管理与评估-第二篇-供应链

一、企业供应链知识管理参数体系1.1、供应链知识管理参数列表表1:供应链整体效能参数参数名称参数定义计算公式计量单位数据来源供应链响应时间从接收订单到交付的时间∑(交付时间 - 订单时间) / 总订单数天订单系统、交付记录供应链总成本占比供应链成本占总成本的…

作者头像 李华
网站建设 2026/5/24 3:38:06

动手学UNet:创建Unet_V2项目并搭建目录结构

动手学 UNet:构建 Unet_V2 项目结构与工程化配置 在深度学习的实际开发中,一个清晰、可维护的项目结构往往比模型本身更早决定项目的成败。尤其是在图像分割这类复杂任务中,数据流、模型组件和训练逻辑高度耦合,若缺乏良好的工程设…

作者头像 李华
网站建设 2026/5/21 11:45:45

Open-AutoGLM网页调用报错怎么办:3步快速定位并修复连接问题

第一章:Open-AutoGLM调用不了网页当尝试通过 Open-AutoGLM 调用网页服务时,用户可能会遇到无法正常加载或响应的情况。这通常由网络配置、API 地址错误或权限限制引起。检查网络连接与 API 地址 确保本地环境可以访问目标网页服务。使用命令行工具测试连…

作者头像 李华
网站建设 2026/5/20 20:18:08

高速光耦KL6N13X系列在通信领域的革新应用

在5G通信、数据中心等高速信号传输场景中,电气隔离与信号完整性至关重要。高速光耦凭借其纳秒级响应速度、高共模抑制比及电气隔离特性,成为通信系统的核心元件。晶台推出的KL6N13X系列高速光耦,凭借其优异性能成为行业标杆。KL6N13X采用8-pi…

作者头像 李华
网站建设 2026/5/20 15:24:16

八自由度车辆动力学Simulink仿真模型探索

八自由度车辆动力学Simulink仿真模型 模型包括.slx文件.m车辆参数文件和word说明文档 Matlab版本2018a,可生成低版本 八自由度包括纵向,横向,横摆,侧倾及四个车轮旋转运动,另外还包括pac魔术轮胎模型,可以负…

作者头像 李华
网站建设 2026/5/22 5:37:37

Miniconda环境下精准定位GPU显存泄漏

Miniconda环境下精准定位GPU显存泄漏 在深度学习开发中,你是否经历过这样的“惊魂时刻”:模型训练刚开始时一切正常,GPU显存占用稳定在合理范围,但跑着跑着突然爆出 CUDA out of memory 错误?😱 更诡异的是…

作者头像 李华