arcgis地图服务之 identify 服务
在近期的一次开发过程中,利用IdentityTask工具查询图层的时候,请求的参数中ImageDisplay的参数出现了错误,导致查询直接不能执行,百度了半天也没有解决。最后还是Bing搜索比较给力。
出现这个错误的主要原因是:IdentityParams参数设置中地图显示范围的height和width只能值整数。接下来将idetify的请求参数进行一个总结:
Identify(地图服务)
URL:对象查询的地图服务
功能:查询
功能描述:执行此操作的结果是识别一个地图资源,每一个结果包括其中名称、layer的ID、layerName、geometry、geometry Type、还有其他的一些属性数据。
请求参数说明:(Request Parameters)
- f :描述响应格式,默认的是HTML,html/json.
- geometry: 必须能要的一个参数,是有geometry Type参数指定的类型,返回json对象。
- json结构:geometryType=<geometryType>geometry={}
- JSON structures: geometryType=<geometryType>&geometry={ geometry}
- Point simple syntax: geometryType=esriGeometryPoint&geometry=<x>,<y>
- Envelope simple syntax: geometryType=esriGeometryEnvelope&geometry=<xmin>,<ymin>,<xmax>,<ymax>
- geometryType:指定几何参数的类型。几何类型包括点、线、面、封闭的图形。默认为点 POint
- sr :描述空间参考的输入和输出以及地图的Extent MapExtent。
- layerDefs: 允许进行过滤部分的图层。
- time:时间参数,time=startTime , endTime.
- layerTimeOptions:设定显示的layer时候在时间的范围内。
{
"0" : {
"useTime" : true,
"timeDataCumulative" : false,
"timeOffset" : 1,
"timeOffsetUnits" : "esriTimeUnitsYears"
},
"3" : {
"useTime" : false
}
}
- layer:确认需要操作的层。
- top:最上面的layer
- visible:所有的可见的图层
- all:服务中的所有图层
- tolerance:宽度容差。
- mapExtent:地图的范围,一把如果是拉框查询的活此范围就是所绘制的几何范围。
- imageDisplay:为当前显示地图的屏幕参数,用来确定当前图层的可见程度。为屏幕指定范围的像素的大小。此值一定为整数,不能存在小数点。
- returnGeometry:返回包括相关几何图形的结果。默认值是false。