ArcGIS Runtime SDK改为异步加载机制后无法顺序判断执行的问题

比如想删除某几个图层中,点查询得到的最上方图层的要素,需要按顺序遍历这几个图层,逐个判断某个图层是否选中要素,如果选中要素,则停止遍历下一个图层。
这个逻辑在异步方法里面需要在上一个图层查询结果出来之后,再进行下一个图层的判断,这需要嵌套很多addDoneListener(),有什么好的方法更好的实现吗。
 
再比如,双击地图,如果选中要素则进行编辑;如果没有选中要素则放大地图。这个同样需要先等待异步查询结果才能知道是否选中要素。10.2.x系列中,重写地图onDoubleTap方法即可实现,100.x系列中怎么实现呢。
@Override
public boolean onDoubleTap(MotionEvent event) {
  boolean zoomin = true;//标记是否放大
  long[] featureIds = mFeatureLayer.getFeatureIDs(event.getX(), event.getY(), 10);
  if (featureIds.length > 0) {//选中要素,开启编辑模式
    return true;
  } else {
    return super.onDoubleTap(event);//地图放大
  }
}
已邀请:

张赛

赞同来自: ls123_zh

为什么不用Geoview这个对象上提供的identifyLayersAsync这个方法呢?
 

要回复问题请先登录注册