我正在尝试使用客户ArcGIS系统来使用ArcGIS Javascript API在页面上呈现地图。
要在地图显示的示例中定义地图,请执行以下操作:
map = new Map("map",{
basemap: "topo",
center: [-117.19,34.05], // lon, lat
zoom: 13
});然而,这显示了固定的坐标。
我希望能够使用land id访问客户内部系统中的RESTAPI,并返回并绘制坐标。
目前我正在从陆地上检索一个度分秒的纬度和经度,但我想知道是否有一种更简单的方法,然后必须以字符串的形式获取这些值,将它们拆分为度分秒,然后进行计算以获得它们的X,Y值,并将其绘制到此函数中,以定义地图。
从本质上讲,我只是试图在一个由land id指定的位置加载一个地图,然后在顶部加载地图图层,所有这些都是通过本地系统RestAPI和Javascript API完成的。
谢谢,
发布于 2015-07-07 22:54:26
这都是关于地图的空间参考(即102100,4326等)。无论您将添加上述代码片段,这将添加一个带有底图(拓扑)的地图,地图的中心将是您提供的坐标。
如果你想要添加一个点到地图,而它有不同的几何格式,那么你可以使用投影几何操作进行转换。
require([
"esri/tasks/ProjectParameters", ...
], function(ProjectParameters, ... ) {
var params = new ProjectParameters();
params.geometries = [point];
params.outSR = outSR;
params.transformation = transformation;
gsvc.project(params);
...
});参考:https://developers.arcgis.com/javascript/jsapi/geometryservice-amd.html#project
将度分秒转换为十进制/经度:
function ConvertDegreeAngleToDecimal(degrees, minutes, seconds )
{
//Decimal degrees =
// whole number of degrees,
// plus minutes divided by 60,
// plus seconds divided by 3600
return degrees + (minutes/60) + (seconds/3600);
}希望这能对你有所帮助。
如果你需要更多的澄清,请告诉我!
https://stackoverflow.com/questions/25375010
复制相似问题