如何在Arcgis Android中将选定的信封区域设置为MapView?

时间:2015-12-11 07:20:58

标签: android arcgis

我已经加载了一个离线.geodatabase esri地图。我正在MapView上绘制一个Envelope。现在我希望Envelope区域适合MapView。

我在下面尝试过 -

mMapView.setExtent(selectedAreaGraphic.getGeometry());

在添加grapic时使用UniqueID从Graphic图层获取SelectedAreaGraphic。

它完全填满了MapView上所选的信封区域。

1 个答案:

答案 0 :(得分:1)

  1. 您可以从图形图层获取信封的绘制图形ID,即[表示区域的矩形形状]。

  2. 现在,您可以从这些graphicID查询带有图形几何的信封。

  3. 将所有这些信封点合并到新信封。

    Envelope env = new Envelope();
    Envelope NewEnv = new Envelope();
    for (int i: mGraphicsLayer.getGraphicIDs()) {
        try {
            Polygon p = (Polygon) mGraphicsLayer.getGraphic(i).getGeometry();
            p.queryEnvelope(env);
            NewEnv.merge(env);
        } catch (Exception e) {
        e.printStackTrace();
        }
    }
    
  4. 现在将MapView范围设置为新的Envelope。

    mMapView.setExtent(NewEnv);