如何在 Arcgis 中将选中的 Envelope 区域设置为 MapView Android?
How to set selected Envelope area to MapView in Arcgis Android?
我加载了离线 .geodatabase esri 地图。我正在 MapView 上绘制一个信封。现在我希望信封区域适合 MapView。
我在下面试过 -
mMapView.setExtent(selectedAreaGraphic.getGeometry());
我在添加图形时使用 UniqueID 从图形层获取 SelectedAreaGraphic。
它没有完全填满 MapView 上选定的信封区域。
您可以从Graphic Layer中获取Envelope绘制的graphicID,即[代表区域的矩形形状]。
现在您可以从这些graphicID中查询带有Graphic Geometry的Envelope了。
将所有这些 Envelope 指向新的 Envelope。
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);
我加载了离线 .geodatabase esri 地图。我正在 MapView 上绘制一个信封。现在我希望信封区域适合 MapView。
我在下面试过 -
mMapView.setExtent(selectedAreaGraphic.getGeometry());
我在添加图形时使用 UniqueID 从图形层获取 SelectedAreaGraphic。
它没有完全填满 MapView 上选定的信封区域。
您可以从Graphic Layer中获取Envelope绘制的graphicID,即[代表区域的矩形形状]。
现在您可以从这些graphicID中查询带有Graphic Geometry的Envelope了。
将所有这些 Envelope 指向新的 Envelope。
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);