首页 / 浏览问题 / 移动GIS / 问题详情
android 加载二维管线,点击管线查看管线属性信息
25EXP 2023年04月23日
android 直接加载iserver发布的二维管线地图服务,想要查询点击的管线的属性信息,需要怎么做?

我看了geometryinfo示例中,对点击对象属性信息的查询,但是这种的前提是将对象查询出来,并将对应的id 设置成view的tag,然后根据id去查询。

在管线加载完成后,并不知道管线的id,所以不知道怎么去进行查询。

麻烦大致说一下这个正常的查询步骤

1个回答

您好,可参考范例程序,service示范如何使用服务模块。
3,685EXP 2023年04月23日

service中使用的是queryservice,查询的是图层上符合条件的数据集。 而我想查询的是,点击加载的管线,查询点击的那根管线的属性信息。算是精准查询吧

加载在线地图服务,通过获取点击点的xy值转换成地图上的点,然后给定一个范围

private Rectangle2D getBounds(int x,int y){
   Point2D ptLeftBottom = m_mapControl.getMap().pixelToMap(new Point(x-1,y-1));
   Point2D ptRightTop = m_mapControl.getMap().pixelToMap(new Point(x+1,y+1));
   Rectangle2D bounds = new Rectangle2D(ptLeftBottom, ptRightTop);
   return bounds;
}
parameter.setQueryBounds(getBounds(x,y));

设置这个查询范围查询结果跟不设置查询结果是一样的。

麻烦请问,在线地图服务的属性查询想要查询触摸点的属性是这样查询吗?

设置一下查询模式呢,ServiceQueryParameter.setSpatialQueryMode(SpatialQueryMode.INTERSECT)这里选择相交空间查询模式
...