使用 URL 参数
使用 ArcGIS.com 地图查看器创作的 Web 地图包含底图、数据图层、范围、图例以及导航工具(如缩放工具、平移工具、地点查找器和书签)。许多 Web 地图还包含交互式元素,如允许您在地图(比如影像图和街道图)间转换的底图库、测量工具、显示特定要素属性的弹出窗口以及显示随时间变化的数据的按钮。
除了使用 ArcGIS.com 地图查看器创建 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 编码可确保将有效的字符发送至 ArcGIS Online。编码使用 % 后跟其等效的十六进制数来替换所有无效的字符。
例如,以下是一串已编码的 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%2C12
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 端点的相关信息确定缓存比例级别。该分辨率与比例成反比。
当您使用 webmap 或 find 参数时,将自动设置比例:忽略 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