Suite

Comment renvoyer les coordonnées de ma position à l'aide de LocationDisplayManager (API ESRI) ?


J'essaie de créer une application qui fonctionne avec la position lat et long d'un appareil. j'utilise EmplacementDisplayManager classe pour trouver et cartographier un emplacement.

MapView mMapView = null; public void getPos(MapView mMapView) { LocationDisplayManager loc = mMapView.getLocationDisplayManager(); loc.setAutoPanMode(LocationDisplayManager.AutoPanMode.LOCATION); loc.start(); } public void showPos(Afficher la vue) { getPos(mMapView); } @Override protected void onCreate(Bundle protectedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mMapView = (MapView) findViewById(R.id.map); if(getLon(mMapView) < 55,00 && getLat(MapView) < 55,00){ TextView itemLoc = (TextView) findViewById(R.id.textLoc); itemLoc.setText("Lon: " + getLon(mMapView) + " Lat: " + getLon(mMapView)); // code… } }

Je ne peux pas retourner les valeurs numériques de lat et de long dont j'ai besoin pour les manipulations futures, j'ai essayé d'implémenter le code suivant :

public double getLon(MapView mMapView) { LocationDisplayManager loc = mMapView.getLocationDisplayManager(); return loc.getLocation().getLongitude(); } public double getLat(MapView mMapView) { LocationDisplayManager loc = mMapView.getLocationDisplayManager(); return loc.getLocation().getLatitude(); }

Cela donne l'erreur :

Causé par : java.lang.NullPointerException à cette ligne : return loc.getLocation().getLongitude();

Avez-vous une idée de comment le résoudre?


Vous devez implémenter OnStatusChangedListener et LocationListner pour obtenir ce que vous voulez.

Jetez un œil à cet exemple :

https://developers.arcgis.com/android/sample-code/nearby/