3 Stimmen

Google Maps-App starten

Ich versuche, Google Maps aus meiner Anwendung heraus zu starten. Ich benutze:

GeoPoint center = _mapView.getMapCenter(); 

Uri uri = Uri.parse("geo:"+center.getLatitudeE6()+","+center.getLongitudeE6()); 

Log.d(LOG_TAG, "Launching Google Maps with Uri: ("+uri+")"); 
Intent intent = new Intent(Intent.ACTION_VIEW, uri);

startActivity(intent); 

Ich habe es mit einer Karte getestet, die irgendwo in NYC zentriert war, aber Google Maps öffnet sich dort nicht zentriert. Ich folgte Android Developer's Website Referenz zu verwenden: "geo:Breitengrad,Längengrad" Muster.

Das Protokoll, das Sie sehen, wird gedruckt:

Launching Google Maps with Uri: (geo:40763500,-73979305) 

Weiß jemand, was das Problem sein kann?

3voto

systempuntoout Punkte 68725

Versuchen Sie zu verwenden:

Uri uri = Uri.parse("geo:"+(center.getLatitudeE6()/1E6)+","+(center.getLongitudeE6()/1E6)); 

En geo: Uri Format nimmt dezimale Breiten-/Längengrade und nicht das E6-Format (Grad * 1E6).

2voto

Billy Bob Bain Punkte 2824

Sie müssen durch 1E6 dividieren, da GeoPoint gibt keinen Double zurück.

Uri uri = Uri.parse("geo:"+(center.getLatitudeE6()/1E6)+","+(center.getLongitudeE6()/1E6));

Mir persönlich gefällt dieser Weg, bei dem daddr sein würde (center.getLatitudeE6()/1E6)+","+(center.getLongitudeE6()/1E6)

startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("http://maps.google.com/maps?f=d&saddr="+saddr+"&daddr="+daddr+"&hl=en")));

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X