Ich kann den aktuellen Standort nicht abrufen, sobald ich meine Google Maps-Aktivität öffne. Obwohl es die aktuelle Position mit der blauen Punktmarkierung anzeigt.Ich kann den aktuellen Standort nicht abrufen, sobald ich meine Google Maps-Aktivität öffne
Ich sehe eine Ausnahmemeldung: java.lang.NullPointerException: Der Versuch, virtuelle Methode ‚double android.location.Location.getLatitude()‘ auf ein Null-Objekt Verweis aufrufen
es viel Zeit in Anspruch nimmt zu holen Koordinaten. Dafür muss ich mein Handy bewegen und warten.
Hier ist mein Code dafür:
if (Build.VERSION.SDK_INT < 25) {
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION) !=
PackageManager.PERMISSION_GRANTED) {
// Ask for permission
ActivityCompat.requestPermissions(this, new String[]
{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION) !=
PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this, new String[]
{Manifest.permission.ACCESS_FINE_LOCATION}, 1);
}
} else {
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,
0, locationListener);
lastKnownLocation =
locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
try {
pDialog.hide();
locate = new LatLng(lastKnownLocation.getLatitude(),
lastKnownLocation.getLongitude());
mMap.clear();
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(locate, 13));
originMarkers.add(mMap.addMarker(new MarkerOptions()
.title("Your Location")
.position(locate)));
origin_lati = "" + lastKnownLocation.getLatitude();
origin_longi = "" + lastKnownLocation.getLongitude();
Log.e("Lati Longi", origin_lati+", "+origin_longi);
}catch (Exception e){
Log.e("Exception", e.toString());
}
}
}
Warum verwenden Sie den neuen fusionLocationApi nicht für Standortaktualisierungen? – sumit
Ich bin ziemlich neu in diesem Konzept. Wie funktioniert das? –
Muss ich den kompletten Code ändern? –