ArcGIS for JavaScript的vue2巡线轨迹西安80坐标点后端传过来的数组怎么在地图上画线

时间: 2024-03-15 15:44:46 浏览: 15
在ArcGIS for JavaScript中,可以使用 `Polyline` 类来绘制线条,而要绘制一条连接给定坐标点的线条,可以通过 `Polyline` 的构造函数以及 `addPath` 方法来实现。假设你已经从后端获取到了一组坐标点的数组,可以按照以下步骤在地图上绘制线条: 1. 在Vue组件的 `mounted` 钩子函数中创建Map对象,获取到地图的视图和图层对象: ```javascript mounted() { const map = new Map({ basemap: "topo-vector", container: "mapDiv", }); const view = new MapView({ map: map, container: "mapDiv", center: [108.9402, 34.3416], // 地图中心点 zoom: 12 // 初始缩放级别 }); const graphicsLayer = new GraphicsLayer(); // 创建绘图图层对象 map.add(graphicsLayer); // 将图层添加到地图中 } ``` 2. 在获取到坐标点数组后,遍历数组,将每个坐标点添加到 `Polyline` 对象的路径中: ```javascript const path = []; // 创建 Polyline 对象的路径数组 for (let i = 0; i < coords.length; i++) { path.push([coords[i].x, coords[i].y]); // 将每个坐标点转换为 [x, y] 数组并添加到路径中 } const polyline = new Polyline({ paths: [path], // 将路径数组作为参数传递给 Polyline 构造函数 spatialReference: { wkid: 4326 } // 设置空间参考系为 WGS84 }); ``` 3. 创建 `PolylineSymbol3D` 对象和 `Graphic` 对象,并将 `Graphic` 对象添加到图层中: ```javascript const lineSymbol = new LineSymbol3D({ symbolLayers: [{ type: "line", size: "5px", material: { color: "red" } }] }); // 创建 PolylineSymbol3D 对象,设置线条颜色和宽度 const polylineGraphic = new Graphic({ geometry: polyline, symbol: lineSymbol }); // 创建 Graphic 对象 graphicsLayer.add(polylineGraphic); // 将 Graphic 对象添加到绘图图层中 ``` 完整代码示例: ```javascript <template> <div id="mapDiv" style="height: 600px;"></div> </template> <script> import { loadModules } from "esri-loader"; export default { mounted() { loadModules([ "esri/Map", "esri/views/MapView", "esri/layers/GraphicsLayer", "esri/Graphic", "esri/symbols/LineSymbol3D", "esri/geometry/Polyline" ]).then(([Map, MapView, GraphicsLayer, Graphic, LineSymbol3D, Polyline]) => { const map = new Map({ basemap: "topo-vector", container: "mapDiv", }); const view = new MapView({ map: map, container: "mapDiv", center: [108.9402, 34.3416], zoom: 12 }); const graphicsLayer = new GraphicsLayer(); map.add(graphicsLayer); // 假设已经从后端获取到了坐标点数组 coords const path = []; for (let i = 0; i < coords.length; i++) { path.push([coords[i].x, coords[i].y]); } const polyline = new Polyline({ paths: [path], spatialReference: { wkid: 4326 } }); const lineSymbol = new LineSymbol3D({ symbolLayers: [{ type: "line", size: "5px", material: { color: "red" } }] }); const polylineGraphic = new Graphic({ geometry: polyline, symbol: lineSymbol }); graphicsLayer.add(polylineGraphic); }); } } </script> ```

相关推荐

最新推荐

recommend-type

基于ArcGIS的80西安坐标系转换到2000国家坐标系的研究

就西安80 坐标系到2000 国家坐标系之间的转换的基础理论和方法进 行了研究,给出了基于ArcGIS 环境下将1980 西安坐标系转换到2000 中国大地坐标系的有效解决办法。
recommend-type

ArcGIS提取河流中心线

1、ArcGIS提取河流中心线 2、ArcGIS提取道路中心线 3、ArcGIS提取线型面状要素中心线
recommend-type

使用ArcGIS生成geojson地图文件

许多乡镇城市的json文件网上查不到,这里提供自己使用ArcGIS等工具生成echars可用的geojson地图文件方法,请自行取用
recommend-type

ArcGIS API for Python学习笔记(一)环境配置

ArcGIS API for Python开发环境配置 因为学习需要,尝试使用Pyhton API,但在使用过程中踩雷不少,特立贴记录。 主要参考教程: ESRI官网环境配置教程 1. 前言 2. Python安装 3. Anaconda安装 4. ArcGIS API开发...
recommend-type

ArcGIS API for JavaScript简单部署

比较实用的,适合初学者部署ArcGIS API for JavaScript,按步骤就能够成功,有网络的可以使用在线部署,没网络的环境使用离线部署
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用matlab绘制高斯色噪声情况下的频率估计CRLB,其中w(n)是零均值高斯色噪声,w(n)=0.8*w(n-1)+e(n),e(n)服从零均值方差为se的高斯分布

以下是用matlab绘制高斯色噪声情况下频率估计CRLB的代码: ```matlab % 参数设置 N = 100; % 信号长度 se = 0.5; % 噪声方差 w = zeros(N,1); % 高斯色噪声 w(1) = randn(1)*sqrt(se); for n = 2:N w(n) = 0.8*w(n-1) + randn(1)*sqrt(se); end % 计算频率估计CRLB fs = 1; % 采样频率 df = 0.01; % 频率分辨率 f = 0:df:fs/2; % 频率范围 M = length(f); CRLB = zeros(M,1); for
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。