如何使用android SDK获取ArcGIS MapView的可见地图范围角点坐标(纬度/经度)?如何获取可见地图范围的坐标(lat/lon)?
回答
ArcGIS的运行10.2.x中:
SpatialReference WGS1984 = SpatialReference.create(4326);
Polygon extent = (Polygon) GeometryEngine.project(
mapView.getExtent(),
mapView.getSpatialReference(),
WGS1984);
for (int i = 0; i < extent.getPointCount(); i++) {
Point corner = extent.getPoint(i);
// Do something with that corner, e.g. print it...
Toast.makeText(MainActivity.this,
"Here's a corner: " + corner.getX() + ", " + corner.getY(),
Toast.LENGTH_LONG).show();
}
的ArcGIS运行石英(测试版3):
SpatialReference WGS1984 = SpatialReference.create(4326);
Envelope extent = (Envelope) GeometryEngine.project(
mapView.getCurrentViewpoint(Viewpoint.Type.BOUNDING_GEOMETRY).getTargetGeometry(),
WGS1984);
// Do something with the extent, e.g. print it...
Toast.makeText(MainActivity.this,
"Extent:\n(" + extent.getXMin() + ", " + extent.getYMin() + "),\n" +
"(" + extent.getXMax() + ", " + extent.getYMax() + ")",
Toast.LENGTH_LONG).show();
亲爱的加里,如果我试图使用'不能解决方法'WGS1984()'显示它不能解决。你知道为什么发生这种情况吗?是否有任何编译库需要意味着依赖? –
'WGS1984'只是我为'SpatialReference.create(4326)'的返回值选择的变量名称。这不是一种方法。也许你应该在这个问题中创建一个新问题并分享你的代码,因为我的代码不使用'WGS1984'作为方法。 –
你可以请看看这个问题https://gis.stackexchange.com/questions/237103/arcgis-runtime-sdk-for-android-how-to-get-the-lat-and-long-of-point –
你试过getExtent()?并将返回的多边形的4个点转换为WGS84(EPSG:4326)? –