在Android中实现要素识别功能,主要使用两个类IdentifyTask和IdentifyParameters,两个类的主要结构,如图:
相关实例代码如下:
params = new IdentifyParameters(); params.setTolerance(20); params.setDPI(98); params.setLayers(new int[]{4}); params.setLayerMode(IdentifyParameters.ALL_LAYERS); Point identifyPoint = map.toMapPoint(x, y); params.setGeometry(identifyPoint); params.setSpatialReference(map.getSpatialReference()); params.setMapHeight(map.getHeight()); params.setMapWidth(map.getWidth()); Envelope env = new Envelope(); map.getExtent().queryEnvelope(env); params.setMapExtent(env); IdentifyTask mIdentifyTask; mIdentifyTask=new IdentifyTask("http://services.arcgisonline.com/ArcGIS/rest/services/Demographics/USA_Average_Household_Size/MapServer"); IdentifyResult[] mResult = null; mResult = mIdentifyTask.execute(params); |
在上面的示例中不难看出,想要实现要素识别功能只需创建IdentifyParameters和IdentifyTask的实例,并且给IdentifyParameters实例设置相关值,用IdentifyTask的实例执行execute()方法,该方法返回查询的结构集。