Comment obtenir les coordonnées (lat/lon) des coins d'étendue de carte visibles pour ArcGIS MapView à l'aide du SDK android?Comment obtenir coordonnées (lat/lon) de l'étendue de la carte visible?
Répondre
ArcGIS Runtime 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 Runtime Quartz (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();
Chers amis, si j'essaie d'utiliser la méthode 'Impossible de résoudre' WGS1984() 'montre qu'il ne peut pas être remué. Savez-vous pourquoi cela arrive? Y a-t-il une bibliothèque de compilation nécessaire signifie des dépendances? –
'WGS1984' est simplement le nom de variable que j'ai choisi pour la valeur de retour de' SpatialReference.create (4326) '. Ce n'est pas une méthode. Peut-être que vous devriez créer une nouvelle question et partager votre code dans cette question, parce que mon code n'utilise pas 'WGS1984' comme méthode. –
Pouvez-vous s'il vous plaît avoir regarder cette question https://gis.stackexchange.com/questions/237103/arcgis-runtime-sdk-for-android-how-toget-the-lat-and-long-of-point –
Avez-vous essayé getExtent()? Et convertir les 4 points du polygone renvoyé en WGS84 (EPSG: 4326)? –