Как получить координаты (lat/lon) видимых углов расширения карты для ArcGIS MapView с помощью SDK для Android?Как получить координаты (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 Продолжительность Кварц (Beta 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();
Уважаемый gary, если я пытаюсь использовать 'Can not resolve method 'WGS1984()' показывает, что он не может ressolve. Вы знаете, почему это происходит? Существует ли какая-либо библиотека компиляции, которая требует зависимости? –
'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)? –