arcgis 坐标数组渲染成线

本文介绍如何使用ArcGIS for JavaScript API (3.19版本)从数据库中读取坐标数据并将其渲染为线要素。通过解析和处理坐标字符串,创建Polyline对象,并设置其样式,最终在地图上显示带有中心点的线要素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Arcgis for js 3.19

条件:从数据库去坐标,渲染成线。

 

 var data = obj.data;
var location = data.location;
var arr = location.split(';');
var lineArr = [];
//从数据库中拿到数据,获取lcoation,进行拆分。
for(var i=0;i<=arr.length-1;i++)
{
var xy = arr[i];
var points = xy.split(',');
lineArr.push(points);
}
//将坐标转换为数组的数组,格式[[x,y],[x,y],[x,y]]
var sum1=parseFloat(0);
var sum2=parseFloat(0);
for(var i = 0; i < lineArr.length; i++){
sum1 =sum1 + parseFloat(lineArr[i][0]);
sum2 += parseFloat(lineArr[i][1]);
}
var mean1 = sum1 / lineArr.length;
var mean2 = sum2 / lineArr.length;
//获取中心点坐标,比较蠢的方式
var polylineJson = {
"paths":lineArr,
"spatialReference":{"wkid":4490}
};
//塞入数据和坐标系
var polyline = new esri.geometry.Polyline(polylineJson);
//新建图形geometry

var symbol = new esri.symbol.SimpleLineSymbol(esri.symbol.SimpleLineSymbol.STYLE_SOLID, new dojo.Color([255,125,0]), 2);//线的样式
 var pt = new esri.geometry.Point([mean1,mean2],new esri.SpatialReference({ wkid: 4490 }));//中心坐标点

map.infoWindow.hide();
//隐藏上一个弹出框
map.infoWindow.resize(320, 400);
//设置弹出框大小
var attr = {
"name":data.name,
"describe":data.describe,
"status":data.status,
};
//塞数据


clearTLayer('hlgc');
//清除高亮
 var gcLayer = new esri.layers.GraphicsLayer({id:'hlgc'});
map.addLayer(gcLayer);
var g = new esri.Graphic(polyline, symbol,attr,null);
gcLayer.add(g);
map.infoWindow.setTitle(data.name);

var contentHtm = getInfoTemplateContentChart(g);
map.infoWindow.setContent(contentHtm);
//弹出模板

var pl = g.geometry.getExtent().getCenter();
map.centerAndZoom(pt,10);
map.infoWindow.show(pt);
gcLayer.clear();

转载于:https://www.cnblogs.com/zhangjiabing/p/9850937.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值