给定坐标点,绘制轨迹
来源:互联网 发布:海湾主机编程软件 编辑:程序博客网 时间:2024/04/29 01:16
function showXueLongTrack(map,data){
require([
"dojo/_base/array",
"esri/layers/GraphicsLayer",
"esri/geometry/Polyline","esri/geometry/Point",
"esri/symbols/SimpleLineSymbol",
"esri/graphic",
"esri/Color",
"esri/request"
], function(arrayUtils,
GraphicsLayer,
Polyline,Point,
SimpleLineSymbol,
Graphic,
Color,
esriRequest
) {
var pointData=data["GPS"];
Proj4js.defs["ESRI:102021"]="+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs";
/*原始点坐标*/
var source = new Proj4js.Proj("EPSG:4326");
/*点投影的目标坐标*/
var dest = new Proj4js.Proj("ESRI:102021");
/* 获取的数据,转换成我要的ponit格式,再投影转换*/
var pointInfo = {};
pointInfo.data = arrayUtils.map(pointData, function(p) {
/*点坐标格式转换*/
var pointX=parseFloat(p.longitudeValue);
var pointY=parseFloat(p.latitudeValue);
var myPoint = new Proj4js.Point(pointX,pointY);
/* 转换后,point 和afePro 一样了*/
var afePro=Proj4js.transform(source, dest, myPoint);
var point = {
"x": afePro.x,
"y": afePro.y,
"spatialReference": {"wkid": 102021 }
};
return {
"point": point
};
});
/*转换数据为我需要的json格式,用以化路径*/
var len=pointInfo.data.length;
var p;
var polyLineJson = {
"paths":[[]],
"spatialReference":{"wkid":102021}
p=[pointInfo.data[i].point.x,pointInfo.data[i].point.y];
polyLineJson.paths[0].push(p);
}
var polyLine = new esri.geometry.Polyline(polyLineJson);
var symbol = new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID,
new Color([0, 255, 0]),
2
);
//create graphic
var line = new esri.Graphic(polyLine, symbol);
//add graphic to map
map.graphics.add(line);
});
require([
"dojo/_base/array",
"esri/layers/GraphicsLayer",
"esri/geometry/Polyline","esri/geometry/Point",
"esri/symbols/SimpleLineSymbol",
"esri/graphic",
"esri/Color",
"esri/request"
], function(arrayUtils,
GraphicsLayer,
Polyline,Point,
SimpleLineSymbol,
Graphic,
Color,
esriRequest
) {
var pointData=data["GPS"];
Proj4js.defs["ESRI:102021"]="+proj=stere +lat_0=-90 +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs";
/*原始点坐标*/
var source = new Proj4js.Proj("EPSG:4326");
/*点投影的目标坐标*/
var dest = new Proj4js.Proj("ESRI:102021");
/* 获取的数据,转换成我要的ponit格式,再投影转换*/
var pointInfo = {};
pointInfo.data = arrayUtils.map(pointData, function(p) {
/*点坐标格式转换*/
var pointX=parseFloat(p.longitudeValue);
var pointY=parseFloat(p.latitudeValue);
var myPoint = new Proj4js.Point(pointX,pointY);
/* 转换后,point 和afePro 一样了*/
var afePro=Proj4js.transform(source, dest, myPoint);
var point = {
"x": afePro.x,
"y": afePro.y,
"spatialReference": {"wkid": 102021 }
};
return {
"point": point
};
});
/*转换数据为我需要的json格式,用以化路径*/
var len=pointInfo.data.length;
var p;
var polyLineJson = {
"paths":[[]],
"spatialReference":{"wkid":102021}
};
//数组连接
for (var i=0;i<len;i++){p=[pointInfo.data[i].point.x,pointInfo.data[i].point.y];
polyLineJson.paths[0].push(p);
}
var polyLine = new esri.geometry.Polyline(polyLineJson);
var symbol = new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID,
new Color([0, 255, 0]),
2
);
//create graphic
var line = new esri.Graphic(polyLine, symbol);
//add graphic to map
map.graphics.add(line);
});
}
function getData(map){
$.ajax({
type : "post",
url : "后台地址",
dataType : "json",
error : function(error) {
console.log("error", error);
},
success : function(data) {
showXueLongTrack(map,data);
}
});
}
参考网址:
http://stackoverflow.com/questions/433627/concat-json-objects
https://msdn.microsoft.com/en-us/library/6d0cbb1w(v=vs.94).aspx
0 0
- 给定坐标点,绘制轨迹
- 高德地图JavaScript根据后台坐标点绘制轨迹
- 给定两点坐标,添加轨迹
- 百度地图绘制轨迹点
- js 高德地图根据后台坐标绘制轨迹
- 根据经纬度坐标值在百度地图上绘制轨迹
- 给定点的json文件,绘制路径
- 百度地图给定坐标,用覆盖物标记坐标点
- 绘制轨迹设置途经点,并添加信息窗口
- 怎么用几何画板坐标绘制点
- 【数学】给定两个点线性求解给定x坐标对应的y坐标值
- 简单笔画轨迹的绘制,并通过保存轨迹点,实现Path的保存和恢复。
- 解决高德地图锁屏黑屏定位不更新,高德地图绘制定位轨迹,高德定位判断定位停留点,高德地图将所有坐标绘制在可视区域内
- 给定4个点坐标求四面体体积
- 给定n个三维坐标点,matlab求平面度
- unity给定两个点和中间点的其中一个坐标比如z坐标,求该点的坐标
- 给定点,绘制路径,点击point,弹出infoTemplate
- 百度地图轨迹绘制
- achartengine与Android中ScrollView的冲突问题
- 将外部sqlite3数据库导入到Android项目中(android studio)
- Spring的BeanUtils.copyProperties用法
- webdriver与浏览器_操作页面元素—单选按钮/多选按钮
- 转载:阿里云服务器 ECS Ubuntu系统安装配置
- 给定坐标点,绘制轨迹
- 2016-01-20 FFC
- extjs combobox 如何获取点击事件
- Elasticsearch filter
- ios富文本自适应
- html 异步调用
- Extjs4 的ComboBox select 事件(event)的例子(代码)
- onclick onclientclick postback 机制
- ldp hello报文接收的处理流程