Haftungsausschluss
Dieses Produkt/diese Funktion wird sich ändern und unterliegt keinem Service Level Agreement (SLA) und keiner Richtlinie zu veralteten Softwarefunktionen. Die Implementierung kann sich in zukünftigen Releases ändern.
Zu Beispielsoftware, Datendateien und/oder Quellcode, die dieser Dokumentation beiliegen: Dieses Produkt wird „wie besehen“ und ohne jegliche Garantie bereitgestellt. Google lehnt ausdrücklich alle ausdrücklichen, stillschweigenden, gesetzlichen oder sonstigen Garantien ab, einschließlich, aber nicht beschränkt auf Garantien der Marktgängigkeit, Eignung für einen bestimmten Zweck und Nichtverletzung von Rechten im Zusammenhang mit diesem Produkt.
Über Android Automotive-Intents können Sie die Navigation in Google Maps starten.
Weitere Informationen finden Sie unter Google Maps-Intents für Android.
Weitere Informationen zur Bereitstellung Ihrer App in Fahrzeugen mit Android Auto oder Android Automotive OS finden Sie unter Android für Autos.
Übersicht
Auf dieser Seite werden die Intents beschrieben, die Sie mit Google Maps für Android Automotive verwenden können. Ausführliche Informationen zur Android-Entwicklerdokumentation finden Sie unter:
Intent-Anfragen
Wenn Sie Google Maps for Android Automotive mit einem Intent starten möchten, müssen Sie zuerst ein Intent-Objekt erstellen und die Aktion, den URI und das Paket angeben.
Aktion: Alle Google Maps-Intents werden als „Anzeigen“-Aktion aufgerufen,
ACTION_VIEW
.URI Google Maps-Intents verwenden URI-codierte Strings, die eine gewünschte Aktion sowie einige Daten angeben, mit denen die Aktion ausgeführt werden soll.
Paket. Wenn Sie
setPackage("com.google.android.apps.maps")
aufrufen, wird der Intent von der Google Maps App für Android verarbeitet. Wenn das Paket nicht festgelegt ist, bestimmt das System, welche Apps den Intent verarbeiten können. Wenn mehrere Apps verfügbar sind, werden Sie möglicherweise gefragt, welche App Sie verwenden möchten.
Nachdem Sie den Intent erstellt haben, können Sie das System auf verschiedene Arten auffordern, die zugehörige App zu starten. Eine gängige Methode ist die Weitergabe des Intents an die Methode startActivity()
. Das System startet die erforderliche App, in diesem Fall Google Maps, und die entsprechende Aktivität.
// Create a Uri from an intent string. Use the result to create an Intent.
Uri mapIntentUri =
Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
// Create an Intent from mapIntentUri. Set the action to ACTION_VIEW
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
// Make the Intent explicit by setting the Google Maps package
mapIntent.setPackage("com.google.android.apps.maps");
// Attempt to start an activity that can handle the Intent
startActivity(mapIntent);
Wenn das System keine App findet, die auf den Intent reagieren kann, stürzt Ihre App möglicherweise ab. Prüfen Sie daher zuerst, ob eine Empfängeranwendung installiert ist, bevor Sie einem Nutzer einen dieser Intents präsentieren.
Um zu prüfen, ob eine App verfügbar ist, um die Intent zu empfangen, rufen Sie resolveActivity()
auf Ihrem Intent
-Objekt auf. Wenn das Ergebnis nicht null ist, gibt es mindestens eine App, die die Intent verarbeiten kann, und startActivity()
kann sicher aufgerufen werden. Wenn das Ergebnis null ist, sollten Sie den Intent nicht verwenden und nach Möglichkeit die Funktion deaktivieren, die den Intent aufruft.
if (mapIntent.resolveActivity(getPackageManager()) != null) {
...
}
Wenn Sie beispielsweise eine detaillierte Wegbeschreibung zum Taronga Zoo in Sydney starten möchten, können Sie den folgenden Code verwenden:
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
startActivity(mapIntent);
}
URI-codierte Suchstrings
Alle Zeichenfolgen, die an die Google Maps-Intents weitergegeben werden, müssen URI-codiert werden. Beispiel: Aus dem String „1st & Pike, Seattle“ sollte 1st%20%26%20Pike%2C%20Seattle
werden.
Leerzeichen im String können mit %20
codiert oder durch das Pluszeichen (+) ersetzt werden.
Sie können die Methode android.net.Uri parse()
zum Codieren Ihrer Strings verwenden. Beispiel:
Uri mapIntentUri = Uri.parse("google.navigation:q=" + Uri.encode("1st & Pike, Seattle"));
Detaillierte Routenführung starten
Mit dieser Intent-Aktion können Sie die Google Maps-Navigation mit einer detaillierten Wegbeschreibung zu einer oder mehreren angegebenen Adressen oder Koordinaten starten. Die Wegbeschreibung wird immer vom aktuellen Standort des Nutzers aus angegeben.
google.navigation:q=a+street+address
google.navigation:q=latitude,longitude
google.navigation:place=placename
Parameter
Verwenden Sie place
oder q
mit waypoints
, um die Navigation zu starten. waypoints
ist optional. Wie Sie einen Wegpunkt optional als Ladestation markieren, erfahren Sie unter Reiseplan für Elektrofahrzeuge an Google Maps senden.
q
legt den Endpunkt für Navigationssuchen fest. Dies kann eine geografische Koordinate oder eine in Form einer Abfrage formatierte Adresse sein. Wenn ein Abfragestring mehr als ein Ergebnis zurückgibt, wird das erste Ergebnis ausgewählt.place
legt den Endpunkt auf „Zuhause“ oder „Arbeit“ fest. Geben Sie „Zuhause“ an, um zum Zuhause des Nutzers zu navigieren, und „Arbeit“, um zum Arbeitsplatz des Nutzers zu navigieren.Mit
avoid
werden Elemente festgelegt, die die Route möglichst vermeiden sollte.avoid
ist optional und kann auf einen oder mehrere der folgenden Werte festgelegt werden:t
für Mautgebührenh
für Autobahnenf
für Fähren
waypoints
gibt eine oder mehrere Zwischenstationen an, über die die Wegbeschreibung zum mitq
angegebenen Ziel führt. Sie können mehrere Wegpunkte angeben, indem Sie Orte durch das Pipe-Zeichen (|
) trennen, z. B.Berlin,Germany|Paris,France
. Sie können beliebig viele Wegpunkte verwenden. Die Wegpunkte werden der Route in der Reihenfolge hinzugefügt, in der sie in der URL aufgeführt sind. Jeder Wegpunkt kann entweder eine Adresse oder kommagetrennte Breiten- und Längengradkoordinaten sein. Außerdem können Sie in derselben Intent-Anfrage Adressen und Breiten- und Längengradkoordinaten verwenden. Strings müssen URL-escaped sein. Wegpunkte wie „Berlin, Deutschland|Paris, Frankreich“ müssen inBerlin%2CGermany%7CParis%2CFrance
umgewandelt werden.
Beispiele
Mit dieser Intent-Anfrage wird eine detaillierte Wegbeschreibung zum Taronga Zoo in Sydney, Australien, angefordert:
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Wenn Sie keine Maut bezahlen oder keine Fähre nutzen möchten, können Sie eine Route anfordern, bei der diese Situationen vermieden werden:
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&avoid=tf");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Wenn Sie lieber zu Ihrem Zuhause navigieren möchten, verwenden Sie Folgendes:
Uri mapIntentUri = Uri.parse("google.navigation:place=home");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Wenn Sie eine detaillierte Wegbeschreibung zu den folgenden drei Adressen starten möchten, geben Sie den Taronga Zoo als Ziel q
und Google Sydney und das Sydney Opera House als Wegpunkte an:
Google Sydney
Sydney Opera House
Taronga Zoo, Sydney, Australien
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&waypoints=Google+Sydney%7CSydney+Opera+House");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Ähnlich wie bei q
können Sie jeden der Wegpunkte durch einen durch Komma getrennten Breiten- und Längengrad anstelle einer Adresse angeben. So starten Sie beispielsweise dieselbe Navigation, indem Sie für das Sydney Opera House die geografische Breite und Länge anstelle der Adresse übergeben:
Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&waypoints=Google+Sydney%7C-33.856159,151.215256");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Fahrtenplan für Elektrofahrzeuge an Google Maps senden
Verwenden Sie diese Navigationsabsicht mit mehreren Zielen, um einige Ziele als Ladestationen für Elektrofahrzeuge anzugeben. Diese Intent-Erweiterung der Intent-Funktion mit mehreren Wegpunkten hilft Fahrern, den Akkustand ihres Elektrofahrzeugs so zu halten, dass sie ihr Ziel erreichen. Dazu werden Informationen zu Ladestopps zwischen Apps zur Routenplanung für Elektrofahrzeuge und Google Maps synchronisiert.
Für Ladestopps gilt Folgendes:
- Muss den Namen und die Koordinaten enthalten
- Kann optional die Leistungsabgabe enthalten, die für die Berechnung der Ladezeit verwendet wird.
Google verwendet den Namen der Ladestation und die Breiten- und Längengradkoordinaten, um einen zugehörigen Ladestationsort zu finden und umfangreiche Daten wie Anschlusstypen, Gesamtzahl, Geschwindigkeiten und Echtzeitverfügbarkeit, unterstützte Zahlungsmethoden und POIs (Points of Interest) anzuzeigen. Zum Beispiel Wegbeschreibungen für den letzten Teil der Navigation auf Parkplätzen im Freien, Öffnungszeiten und Bewertungen. Verwenden Sie <brand name>
, z. B. ChargePoint
, damit die Ladestationen gut mit den Google-Daten übereinstimmen.
Parameter
Zielbahnhof
So legen Sie eine Ladestation als Ziel fest:
q
: Muss den Breiten- und Längengrad der Ladestation enthalten.q_type
:1
gibt an, dass das Endziel eine Ladestation ist.q_name
: Der Name des Endziels. Erforderlich, wennq_type
1
ist.q_power_output_kw
: Eine doppelte Zahl für die Leistung der Ladestation in Kilowatt. Optional.
Wegpunkte
Bei Wegpunkten sind alle Parameter parallele, durch |-getrennte Wertearrays in derselben Reihenfolge wie die Wegpunkte, ohne Endziel. Eine Abweichung bei der Anzahl der Elemente in parallelen Arrays wird als fehlerhafte Absicht behandelt.
Wenn Sie einen oder mehrere Wegpunkte für Ladestationen hinzufügen möchten, verwenden Sie die folgenden Parameter. Sie sind alle optional. Wenn eines der Ziele als Ladestation gekennzeichnet ist, ist der Name des Wegpunkts für dieses Ziel obligatorisch.
waypoints
: Liste der Wegpunkte gemäß der Navigationsanfrage für die detaillierte Streckenbeschreibung. Für Wegpunkte von Ladestationen muss ein Wert für „latitude“ und „longitude“ angegeben werden.waypoint_types
: Arten pro Wegpunkt als Zahl angegeben.0
ist eine beliebige Haltestelle (Standardwert) und1
ist die Ladestation.waypoint_names
: Wegpunktnamen Dieses Feld ist für Ladestationen obligatorisch.waypoint_power_outputs_kw
: Doppelte Zahlen für die Leistung der Ladestation in Kilowatt. Für Ladestationen können Sie optional einen Wert für die Leistung des Wegpunkts angeben, der als Fallback verwendet wird, wenn die übereinstimmende Ladestation nicht gefunden wird. Ein leerer Slot bedeutet, dass kein Wert angegeben wurde.
Nutzererfahrung (UX)
Bei Fahrtabsichten mit mehreren Zielen wird der Bildschirm mit der Routenübersicht angezeigt, die Navigation wird jedoch nicht automatisch gestartet.
Bei einer korrekt formatierten Intent-Anfrage zeigt Google Maps einen Routenübersichtsbildschirm für die Fahrt an. Auf dem Bildschirm mit der Routenübersicht werden alle Wegpunkte und das Endziel aus der Absicht angezeigt, gegebenenfalls mit Ladeempfehlungen.
Wenn Zwischenziele oder das Ziel als Ladestation gekennzeichnet sind, sucht Google Maps in der Google-Datenbank nach einem entsprechenden Ort.
Wenn eine Übereinstimmung gefunden wird, verwendet Google Maps Google-Daten, um die Ladestation auf der Benutzeroberfläche anzuzeigen und eine Ladeempfehlung für die Ladestation zu geben. Wenn keine Übereinstimmung gefunden wird, werden die im Intent für eine Ladestation angegebenen Daten (Koordinaten, Name und Leistung) verwendet, um diese Ladestation auf der Benutzeroberfläche anzuzeigen und eine Ladeempfehlung für diese Ladestation zu geben.
Beispiele
Über mehrere Ladestationen zu einem Ziel navigieren
Die folgende Intent-Anfrage führt zum Endziel Port Macquarie NSW über zwei Ladestationen, ChargePoint und Evie.
Ziele in der richtigen Reihenfolge:
ChargePoint-Ladestation (Standort: -32.9599188,151.6240806, Leistung: 6,6 kW)
Evie-Ladestation (Standort: -31.9432539,152.4699808, Leistung: 350 kW)
Port Macquarie, New South Wales
Uri mapIntentUri =
Uri.parse(
"google.navigation:q=Port+Macquarie+NSW"
+ "&waypoints=-32.9599188%2C151.6240806%7C-31.9432539%2C152.4699808"
+ "&waypoint_types=1%7C1"
+ "&waypoint_names=ChargePoint+Charging+Station%7CEvie+Charging+Station"
+ "&waypoint_power_outputs_kw=6.6%7C350");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Unbekannte Ausgangsleistung
Wenn der Wert der Leistungsabgabe unbekannt ist, lassen Sie den entsprechenden Slot von waypoint_power_outputs_kw
leer. Wenn alle Slots leer sind, muss der Parameter waypoint_power_outputs_kw
nicht angegeben werden.
Ziele in der richtigen Reihenfolge:
ChargePoint-Ladestation (Standort: -32.9599188,151.6240806, Leistung: unbekannt)
Port Macquarie, New South Wales
Uri mapIntentUri =
Uri.parse(
"google.navigation:q=Port+Macquarie+NSW"
+ "&waypoints=-32.9599188%2C151.6240806"
+ "&waypoint_types=1"
+ "&waypoint_names=ChargePoint+Charging+Station");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Endziel als Ladestation markieren
Wenn Sie das Ziel als Ladestation kennzeichnen möchten, geben Sie die Parameter q_type
, q_name
und q_power_output_kw
an.
Ziele in der richtigen Reihenfolge:
Taronga Zoo, Sydney, Australien
ChargePoint-Ladestation (Standort: -32.9599188,151.6240806, Leistung: unbekannt)
Evie-Ladestation (Standort: -31.9432539,152.4699808, Leistung: 350 kW)
Uri mapIntentUri =
Uri.parse(
"google.navigation:q=-31.9432539,152.4699808&q_type=1&q_name=Evie+Charging+Station&q_power_output_kw=350"
+ "&waypoints=Taronga+Zoo%2C+Sydney+Australia%7C-32.9599188%2C151.6240806"
+ "&waypoint_types=0%7C1"
+ "&waypoint_names=%7CChargePoint+Charging+Station"
+ "&waypoint_power_outputs_kw=%7C");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);
Aktionsabsicht
Die folgenden Aktionsintents mit Benutzeroberflächen sind verfügbar:
Aktion | Beschreibung |
---|---|
geo.action:?act=mute |
Die Sprachnavigation wird stummgeschaltet. |
geo.action:?act=unmute |
Die Sprachführung für die Navigation wird wieder aktiviert. |
geo.action:?act=show_traffic |
Zeigt Verkehrslinien auf der Karte an. |
geo.action:?act=hide_traffic |
Verkehrslinien werden auf der Karte ausgeblendet. |
geo.action:?act=show_satellite |
Zeigt Satellitenbilder auf der Karte an. |
geo.action:?act=hide_satellite |
Blendet Satellitenbilder auf der Karte aus. |
geo.action:?act=query_next_turn |
Google Maps spricht die nächste Abbiegung an (funktioniert nur während der Navigation). |
geo.action:?act=distance_to_next_turn |
Google Maps spricht die Entfernung bis zur nächsten Abbiegung an (funktioniert nur während der Navigation). |
geo.action:?act=time_to_next_turn |
Google Maps spricht die Zeit bis zur nächsten Abbiegung an (funktioniert nur während der Navigation). |
geo.action:?act=distance_to_destination |
Google Maps spricht die Entfernung zum Ziel an (funktioniert nur während der Navigation). |
geo.action:?act=go_back |
In Google Maps wird zum vorherigen Bildschirm in der Benutzeroberfläche zurückgekehrt. |
geo.action:?act=query_current_road |
Google Maps nennt die aktuelle Straße. |
geo.action:?act=query_destination |
Google Maps nennt das Ziel. |
geo.action:?act=apply_electric_vehicle_connector_filter |
Wendet den Anschlusstypfilter auf die Suchergebnisse für Ladestationen für Elektrofahrzeuge an. |
geo.action:?act=remove_electric_vehicle_connector_filter |
Der Filter für den Anschlusstyp wird aus den Suchergebnissen für Ladestationen für Elektrofahrzeuge entfernt. |
geo.action:?act=apply_electric_vehicle_payment_filter |
Wendet den Zahlungsfilter auf die Suchergebnisse für Ladestationen für Elektrofahrzeuge an. |
geo.action:?act=remove_electric_vehicle_payment_filter |
Der Zahlungsfilter für Suchergebnisse für Ladestationen für Elektrofahrzeuge wird entfernt. |
geo.action:?act=apply_electric_vehicle_fast_charging_filter |
Schnellladefilter für Suchergebnisse für Ladestationen für Elektrofahrzeuge anwenden |
geo.action:?act=remove_electric_vehicle_fast_charging_filter |
Der Filter für Schnellladestationen für Elektrofahrzeuge wird aus den Suchergebnissen entfernt. |
geo.action:?act=avoid_tolls |
Wenn der Nutzer eine Routenbeschreibung abrufen möchte, bittet er Google Maps, Mautstraßen zu vermeiden. Dies kann zu einer Umleitung führen, wenn für die aktuelle Route Mautgebühren anfallen. |
geo.action:?act=allow_tolls |
Wenn der Nutzer eine Routenbeschreibung abrufen möchte, wird Google Maps angewiesen, Routen mit Mautgebühren zuzulassen. Dies kann zu einer Umleitung führen, wenn durch die Aufnahme von Mautgebühren eine bessere Route verfügbar ist. |
geo.action:?act=avoid_ferries |
Wenn der Nutzer eine Routenbeschreibung abrufen möchte, wird Google Maps angewiesen, Routen mit Fähren zu vermeiden. Dies kann zu einer Umleitung führen, wenn die aktuell aktive Route Fähren umfasst. |
geo.action:?act=allow_ferries |
Wenn der Nutzer eine Route sucht, wird Google Maps angewiesen, Routen mit Fähren zuzulassen. Dies kann zu einer Umleitung führen, wenn die Nutzung von Fähren zu einer besseren Route führt. |
geo.action:?act=avoid_highways |
Wenn der Nutzer navigiert, bittet er Google Maps, Routen mit Autobahnen zu vermeiden. Dies kann zu einer Umleitung führen, wenn die aktuell aktive Route Autobahnen enthält. |
geo.action:?act=allow_highways |
Wenn der Nutzer navigiert, teilt er Google Maps mit, dass Routen mit Autobahnen zulässig sein sollen. Dies kann zu einer Umleitung führen, wenn durch die Aktivierung von Autobahnen eine bessere Route verfügbar ist. |
geo.action:?act=eta |
Wenn der Nutzer eine Route anzeigt, spricht Google Maps die voraussichtliche Ankunftszeit am Zielort an (z. B. 9:15 Uhr). |
geo.action:?act=time_to_destination |
Wenn der Nutzer eine Navigation gestartet hat, spricht Google Maps die voraussichtliche Ankunftszeit am Ziel an (z. B. 15 Minuten). |
geo.action:?act=exit_navigation |
Beendet die Navigation. |
geo.action:?act=select_search_result&id=0 |
Wenn derzeit Suchergebnisse auf dem Bildschirm angezeigt werden (siehe unten), wird basierend auf dem angegebenen ID-Parameter zur nten Suchanfrage gewechselt. Hinweis: Der Index beginnt bei 0. Mit der obigen Absicht wird also das erste Ergebnis in der Liste ausgewählt.
|