Sto cercando di trovare la mia posizione corrente per un progetto Android. Quando l'applicazione viene caricata, la mia posizione corrente è sempre nullo. Ho impostato le autorizzazioni nel file manifest ecc. Quando trovo la posizione corrente, intendo utilizzare le coordinate per trovare le distanze in altre posizioni sulla mappa. Il mio snippet di codice è sotto. Perché ottengo sempre un valore nullo?La posizione corrente restituisce sempre null. Come posso risolvere questo?
locMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria crit = new Criteria();
towers = locMan.getBestProvider(crit, false);
location = locMan.getLastKnownLocation(towers);
if (location != null) {
System.out.println("Location is not null!");
lat = (int) (location.getLatitude() *1E6);
longi = (int) (location.getLongitude() * 1E6);
GeoPoint ourLocation = new GeoPoint(lati, longi);
OverlayItem overlayItem = new OverlayItem(ourLocation, "1st String",
"2nd String");
CustomPinpoint custom = new CustomPinpoint(d, MainMap.this);
custom.insertPinpoint(overlayItem);
overlayList.add(custom);
overlayList.clear();
} else {
System.out.println("Location is null! " + towers);
Toast.makeText(MainMap.this, "Couldn't get provider",Toast.LENGTH_SHORT)
.show();
}
Prova ad accedere a google maps direttamente non dall'app. Funziona - ti localizza? dopo aver individuato il tuo codice funziona come previsto?Esegui il test su dispositivo o emulatore? –
Sto testando l'emulatore, sto usando il livello API 15. Non mi localizzerà, restituisce sempre null. Ho anche provato ad accedere all'applicazione google maps sull'emulatore, ma non riesco a trovare la posizione – devinefergal
che stai usando modo scorretto segui questo https://stackoverflow.com/a/48033659/4997704 –