geöffnet Google Maps vorsätzlich für spezifische Lage in android

? Akki @ | Original: StackOverFlow
---

Ich bin der Gestaltung einer Anwendung, bei der ich will bestimmten Ort auf der Karte zeigen . Ich bin vorbei String der Adresse, die bereits platziert ist Google Map . Sie meinen Intent Code ..

String url = "http://maps.google.com/maps?daddr="+address;
Intent intent = new Intent(android.content.Intent.ACTION_VIEW,  Uri.parse(url));
startActivity(intent);

Aber es ist mir eine Google Map für immer Richtung. Ich weiß, warum das so ist, weil ich daddr in url aber ich weiß nicht, was für bestimmte location..Please verwenden sag mir, was dort zu verwenden ..

---

Top 5 Antwort

1Hardik Trivedi @

Sie sollten so etwas wie dieses zu verwenden

Intent intent = new Intent(android.content.Intent.ACTION_VIEW, 
    Uri.parse("http://maps.google.com/maps?saddr=20.344,34.34&daddr=20.5666,45.345"));
startActivity(intent);

Und um eine Stecknadel fallen

try {
    Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
        Uri.parse("geo:" + AppointmentDetailLayout.docLatitude
            + "," + AppointmentDetailLayout.docLongitude
            + "?q=" + AppointmentDetailLayout.docLatitude
            + "," + AppointmentDetailLayout.docLongitude
            + "(" + label + ")"));
    intent.setComponent(new ComponentName(
        "com.google.android.apps.maps",
        "com.google.android.maps.MapsActivity"));
    context.startActivity(intent);
    } catch (ActivityNotFoundException e) {

    try {
        context.startActivity(new Intent(
            Intent.ACTION_VIEW,
            Uri.parse("market://details?id=com.google.android.apps.maps")));
    } catch (android.content.ActivityNotFoundException anfe) {
        context.startActivity(new Intent(
            Intent.ACTION_VIEW,
            Uri.parse("http://play.google.com/store/apps/details?id=com.google.android.apps.maps")));
    }

    e.printStackTrace();
    }
2Rat-a-tat-a-tat Ratatouille @

Ich habe nicht getestet, aber Sie könnten versuchen :

First method:

String uri = String.format(Locale.ENGLISH, "geo:%f,%f", latitude, longitude);
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
context.startActivity(intent);

EDIT: Das kann nicht funktionieren mit Google Maps 7,0

damit könnten Sie die uri zu ändern:

Second option:

String geoUri = "http://maps.google.com/maps?q=loc:" + lat + "," + lng + " (" + mTitle + ")";

wo mTitle ist der Name des Standortes.

Third option:

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

Fourth option:

String map = "http://maps.google.co.in/maps?q=" + yourAddress;

Hoffnung, die funktioniert und hilft : D ..

3Darshak @ Get Lat-Lng Using this web-service

http://maps.google.com/maps/api/geocode/json?address=" + address + "&sensor=false

Then Pass it to this code
    String strUri = "http://maps.google.com/maps?q=loc:" + lat + "," + lng + " (" + "Label which you want" + ")";
    Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(strUri));

    intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");

    startActivity(intent);
I hope it will help you

Thank you.

4sivag1 @

Dies wird wie ein Zauber funktioniert. Achten Sie darauf, um die Existenz zu Google Maps zu überprüfen, so dass diese universell für alle Nicht Google Geräte auch funktionieren. Es wird im Browser in einem solchen Fall zu öffnen.

Denken Sie auch daran haben nicht www in der URL. Else das wird nicht funktionieren .

        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?q=loc:" + latitude + "," + longitude);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); // Only if initiating from a Broadcast Receiver
        String mapsPackageName = "com.google.android.apps.maps";
        if (Utility.isPackageExisted(context, mapsPackageName)) {
            i.setClassName(mapsPackageName, "com.google.android.maps.MapsActivity");
            i.setPackage(mapsPackageName);
        }
        context.startActivity(i);