0

我正在尝试使用客户 ArcGIS 系统在使用 ArcGIS Javascript API 的页面上呈现地图。

要在示例中定义地图,它会显示:

map = new Map("map",{
          basemap: "topo",
          center: [-117.19,34.05], // lon, lat
          zoom: 13
        });

但是,这显示了固定的坐标。

我希望能够在客户内部系统中使用土地 ID 访问 RESTAPI,然后返回并绘制坐标。

目前我正在从陆地上检索度分秒的纬度和经度,但想知道是否有更简单的方法,然后必须将这些值作为字符串获取,将它们拆分为度分秒,然后进行计算以获取它们的 X、Y 值绘制到此函数中以定义地图。

本质上,我只是想在土地 ID 指定的位置加载地图,然后在顶部加载地图图层后,全部通过本地系统 RestAPI 和 Javascript API。

谢谢,

4

1 回答 1

0

这都是关于地图的空间参考(即 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);
}

希望这会帮助你。

如果您需要更多说明,请告诉我!

于 2015-07-07T14:54:25.710 回答