使用 URL 参数

使用 地图查看器创作的 Web 地图包含底图、数据图层、范围、图例以及导航工具(如缩放工具、平移工具、地点查找器和书签)。许多 Web 地图还包含交互式元素,如允许您在地图(比如影像图和街道图)间转换的底图库、测量工具、显示特定要素属性的弹出窗口以及显示随时间变化的数据的按钮。

除了使用 地图查看器创建 Web 地图,您还可以通过 URL 参数直接制作 Web 地图。URL 参数可使您定义地图的内容,例如底图、业务图层以及范围。

例如:以下为通过 URL 参数构建 Web 地图的方法,该 Web 地图显示的是英国的陆上风力发电厂。

http://www.arcgis.com/home/webmap/viewer.html?basemapUrl=http%3A%2F%2Fservices.arcgisonline.com%2FArcGIS%2Frest%2Fservices%2FOcean_Basemap%2FMapServer&url=http%3A%2F%2Fservices.arcgis.com%2FWQ9KVmV6xGGMnCiQ%2Farcgis%2Frest%2Fservices%2FOnshore_Windfarms%2FFeatureServer&extent=-24.3161%2C45.2274%2C18.0911%2C63.5381
注注:

必须对所有查询参数进行编码。URL 编码可确保将有效的字符发送至门户网站。编码使用 % 后跟其等效的十六进制数来替换所有无效的字符。

例如,以下是一串已编码的 URL 参数:

basemapUrl=http://services.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer

下面是同一个已编码的参数:

basemapUrl=http%3A%2F%2Fservices.arcgisonline.com%2FArcGIS%2Frest%2Fservices%2FOcean_Basemap%2FMapServer

同时还必须对参数中的参数进行编码。例如:

urls=http%3A%2F%2Fmaps.ngdc.noaa.gov%2Frest%2Fservices%2Fweb_mercator%2Ftrackline_gravity%2FMapServer%2Chttp%3A%2F%2Fmaps.ngdc.noaa.gov%2Frest%2Fservices%2Fweb_mercator%2Fhazards%2FMapServer%3Flayers%3Dshow%3A5%2C6
Web 中提供了许多用于生成已编码 URL 的免费站点和工具。为了增加可读性,将不对本主题中的其余示例进行编码。

URL 始终这样开头:

http://www.arcgis.com/home/webmap/viewer.html?

URL 还包含下面列出的一个或多个查询参数。

要包含多个参数,请使用“与”号 (&) 分隔参数。

例如:

http://www.arcgis.com/home/webmap/viewer.html?center=20,45&level=4

定义在查看器中使用的底图。

basemapUrl= 设置为地图服务。如果未定义底图,则默认底图为世界地形图的底图。例如:

http://www.arcgis.com/home/webmap/viewer.html?
     basemapUrl=http://services.arcgisonline.com/ArcGIS/rest/services/World_Physical_Map/MapServer

对底图包含一个参考图层。除 basemapUrl 之外,还必须使用这一参考图层。

basemapReferenceUrl= 设置为服务。例如:

http://www.arcgis.com/home/webmap/viewer.html?
basemapUrl=http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer
&basemapReferenceUrl=http://services.arcgisonline.com/ArcGIS/rest/services/Reference/World_Boundaries_and_Places/MapServer

定义用于叠加底图的业务图层。

使用 webmap=url=urls=

webmap= 参数接受已保存 Web 地图的项目 ID。例如:

http://www.arcgis.com/home/webmap/viewer.html?webmap=2def3f0c7be74f05af33ac87b8d03ef2

url= 参数接受单个服务 URL。例如:

http://www.arcgis.com/home/webmap/viewer.html?
     url=http://services.arcgisonline.com/ArcGIS/rest/services/Demographics/USA_Population_Density/MapServer

使用 urls= 以包含多个服务。使用逗号对多个服务进行分隔。地图范围基于列表中的最新服务或要加载的最慢的服务。要缩放至特定的范围,应包含 extent= 参数。例如:

http://www.arcgis.com/home/webmap/viewer.html?urls=http://maps.ngdc.noaa.gov/rest/services/web_mercator/trackline_gravity/MapServer,http://maps.ngdc.noaa.gov/rest/services/web_mercator/hazards/MapServer?layers=show:5,6,12&extent=5,45,10,50

将地图居中放置在特定的位置上。

使用地理坐标 (x,y) 或投影坐标 (x,y,WKID) 设置 center=

地理坐标示例:

http://www.arcgis.com/home/webmap/viewer.html?center=20,45

投影坐标示例:

http://www.arcgis.com/home/webmap/viewer.html?center=500000,5500000,102100

定义地图查看器的比例级别。

使用 center 参数以及 level=level 参数接受 REST 服务端点中列出的缓存比例的级别 ID。可使用地图服务的 REST 端点的相关信息确定缓存比例级别。该分辨率与比例成反比。

注注:

当您使用 webmapfind 参数时,将自动设置比例:忽略 level。如果使用 webmap 参数,地图将自动缩放至全图范围。如果使用 find 参数,地图将自动缩放至查找位置的最佳范围。

地理坐标示例:

http://www.arcgis.com/home/webmap/viewer.html?center=20,45&level=4

投影坐标示例:

http://www.arcgis.com/home/webmap/viewer.html?center=500000,5500000,102100&level=4

定义地图的范围。

使用 extent= 定义地图的范围。extent 参数以 MinX,MinY,MaxX,MaxY 的形式使用地理坐标 (GCS),以 MinX,MinY,MaxX,MaxY,WKID 的形式使用投影坐标 (PCS)。

地理坐标示例:

http://www.arcgis.com/home/webmap/viewer.html?extent=-117.20,34.055,-117.19,34.06

投影坐标示例:

http://www.arcgis.com/home/webmap/viewer.html?extent=-13079253.954115,3959110.38566837,-12918205.318785,4086639.70193162,102113

设置地图中图层的可见性。

使用 layers=show:。例如:

http://www.arcgis.com/home/webmap/viewer.html?url=http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/BloomfieldHillsMichigan/Parcels/MapServer?layers=show:1,2

查找一个用于打开地图的位置。地图会自动缩放到最接近的匹配位置,并向地图中添加注释标记。

使用 find=。该 find 参数接受单行地址、部分地址(例如仅城市或仅国家)、地点名称以及经纬度坐标。例如:

http://www.arcgis.com/home/webmap/viewer.html?find=380 new york st,redlands,ca
5/10/2014