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();