给定坐标点,绘制轨迹
2016-01-20 18:50
218 查看
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}
};
//数组连接
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
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
相关文章推荐
- 转载:阿里云服务器 ECS Ubuntu系统安装配置
- achartengine与Android中ScrollView的冲突问题
- 将外部sqlite3数据库导入到Android项目中(android studio)
- webdriver与浏览器_操作页面元素—单选按钮/多选按钮
- 记kkpager分页控件的使用
- android ios winform图标下载网站,手机图标下载
- 纯代码实现UITableViewCell的折叠效果
- Xilinx FPGA入门连载37:SRAM读写测试之时序解读
- windows apache 服务 监控重启脚本
- moon 17 JSP九大隐式对象及内置对象及四大范围属性
- hdu2031
- [Java工具类]spring常用工具类 2.特殊字符转义和方法入参检测工具类
- wamp + wordpress 安装
- 获取联系人【自己定义布局文件与主布局文件相连,数据库内容查找并显示】
- Android开机广播
- 加密算法 - RSA
- centos7安装jdk,tomcat,msyql(MariaDB)
- 知识梳理:ViewDragHelper
- centos7安装jdk,tomcat,msyql(MariaDB)
- moon 16 JSP指令