我已经加载了一个离线.geodatabase esri地图。我正在MapView上绘制一个Envelope。现在我希望Envelope区域适合MapView。
我在下面尝试过 -
mMapView.setExtent(selectedAreaGraphic.getGeometry());
在添加grapic时使用UniqueID从Graphic图层获取SelectedAreaGraphic。
它完全填满了MapView上所选的信封区域。
答案 0 :(得分:1)
您可以从图形图层获取信封的绘制图形ID,即[表示区域的矩形形状]。
现在,您可以从这些graphicID查询带有图形几何的信封。
将所有这些信封点合并到新信封。
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();
}
}
现在将MapView范围设置为新的Envelope。
mMapView.setExtent(NewEnv);