2017-12-26 2 views
1


Ich habe ein Problem mit meiner Anwendung. Ich möchte Google Maps mit einem definierten Code-Speicherort öffnen, also setze ich die Daten auf die Absicht, aber Karten öffnen ständig an meinem Standort (nicht die im Code angegebenen). HierMaps Intents zeigen den angegebenen Standort nicht an

ist der Code:

String addressString = "1600 Amphitheatre Parkway, CA"; 

Uri locationUri = new Uri.Builder(); 
     .scheme("geo") 
     .path("0,0") 
     .query(addressString); 
     .build(); 

Intent mapIntent = new Intent(Intent.ACTION_VIEW, locationUri); 
mapIntent.setPackage("com.google.android.apps.maps"); 

if(intent.resolveActivity(getPackageManager()) != null) 
    startActivity(mapIntent); 


Wer weiß, wie mit dieser Situation umgehen? Ich habe versucht, mein Telefon und das virtuelle Gerät und es funktioniert nicht auf beide.

Antwort

1

ändern query(addressString)-appendQueryParameter("q", addressString) und Sie werden reichen, was Sie wollen:

Uri locationUri = new Uri.Builder() 
     .scheme("geo") 
     .path("0,0") 
     .appendQueryParameter("q", addressString) 
     .build(); 
+0

Oh Mann, danke a viel, es funktioniert jetzt! – Bartek

+1

@Bartek können Sie meine Antwort akzeptieren? Es kann helfen, andere Benutzer richtige Antwort zu finden –

+0

Kein Problem, fertig! ;) – Bartek

1

es auf diese Weise Gebrauch mit Breiten- und Längengrad zu öffnen:

double lat = YOUR_LATITUDE; 
double lng = YOUR_LONGITUDE; 
String placeLabel = YOUR_PLACE_LABEL; 
String uri = String.format(Locale.ENGLISH, "geo:%f,%f?q=%f,%f(%s)", lat, lng, lat, lng, placeLabel); 
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); 
startActivity(intent); 

Wenn Sie die Karte mit einer Adresse geöffnet werden soll, ersetzen de uri mit:

geo:0,0?q=my+street+address 
+0

Danke für den ersten Hinweis! Ich wollte nur mit einer Adresse öffnen, aber auch mit einem Uri.Builder und mir wurde nicht klar, dass ich ".query" anstelle von ".appendQueryParameter" benutze und jetzt funktioniert es :) – Bartek

Verwandte Themen