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。