Tipps für eine optimale Nutzererfahrung beim Autofahren im Auto

Dieses Dokument ist eine Aktualisierung eines älteren Artikels, in dem frühere Versionen der GMP APIs verwendet wurden. Diese Inhalte wurden an die neue Version der Places API, die 2023–24 eingeführt wurde, und die Routes API, die 2023 eingeführt wurde, angepasst.

Wenn ein Nutzer zu einem POI fährt, benötigt er in der Regel eine Navigation zu einem nahegelegenen Ort wie einem Parkplatz oder einem Zugangspunkt. Stellen Sie sich einen Fahrer vor, der zum Flughafen oder zu einem Einkaufszentrum fahren muss. Wenn der Fahrer zu einem Flughafen fährt, versucht er, ein Terminal oder einen Absetzpunkt zu erreichen, nicht das Zentrum des Flughafengeländes. Ein Parkplatz neben dem Einkaufszentrum ist für einen Nutzer mit dem Auto möglicherweise eine viel bessere Option. Wenn Sie in diesem Fall eine App oder einen Dienst entwickeln, um den Fahrer zu leiten, ermitteln Sie zuerst den Zielort und bieten Sie dem Fahrer dann optionale Ziele in der Nähe an. So können Sie Ihren Kunden einen besseren Service bieten und zeigen, dass Sie ihre Zeit schätzen. Dazu ist nur ein geringer, aber intelligenter Entwicklungsaufwand erforderlich, bei dem Standortdaten der Google Maps Platform genutzt werden.

Systemdiagramm

Wir zeigen Ihnen, wie Sie die neue Places API und die Routes API nacheinander oder in Kombination verwenden können, um den richtigen Parkplatz in der Nähe Ihres Zielorts zu finden. Diese Lösung soll Unsicherheiten und mehrere Interaktionen beseitigen, um einen Parkplatz zu finden, wenn Sie sich dem Ziel nähern. Hier finden Sie zwei Beispiele dafür, wie diese Fälle im Detail umgesetzt werden könnten.

Beispiel 1: Eine Touristenattraktion ohne Parkplatz

Wählen Sie einen Ort aus, der nicht direkt mit der Straße verbunden ist, sodass eine Route separat abgerufen werden muss. Das Ziel ist Notre Dame in Paris und als Ausgangspunkt verwenden wir den Bahnhof Gare de l'Est (48.87697775149635, 2.3592247806755564).

Gare l'Est

Der Fahrer verlässt die Station etwa 16 Minuten nördlich von Notre Dame. Notre Dame ist eine berühmte Touristenattraktion auf einer Insel, die über Brücken erreichbar ist. Es gibt dort einige Einbahnstraßen und in der Nähe keinen großen Parkplatz. Das dürfte also eine interessante Herausforderung werden.

1. Places API-Anfrage

In diesem Beispiel für eine Places API-Anfrage wird die Textsuche verwendet, um Notre Dame zu finden. Weitere Informationen finden Sie in der Entwicklerdokumentation. „$APIKEY“ in diesen Beispielen ist der API-Schlüssel, den Sie für die in der Google Cloud Console aktivierten Places API und Routes API der Google Maps Platform haben. Eine detailliertere Erklärung finden Sie in der Dokumentation Erste Schritte mit der Google Maps Platform.

Die neuen Places API-Anfragen haben ein neues Format. Die Antwortfelder sind nicht mehr festgelegt und Sie müssen als Entwickler eine Feldmaske im Header definieren. Die Verwendung der Feldmaske ist in der Dokumentation definiert.

curl -X POST --data @notre_dame.json \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: places.id,places.displayName,places.formattedAddress,places.location' \
'https://places.googleapis.com/v1/places:searchText'

Mit dem Inhalt von „notre_date.json“ für Suchparameter:

{
   "textQuery": "Notre Dame, Paris",
   "languageCode": "en"
}

Die Antwort auf die obige Anfrage enthält die folgenden Breiten- und Längengradkoordinaten:

{
  "places": [
    {
      "id": "ChIJATr1n-Fx5kcRjQb6q6cdQDY",
      "formattedAddress": "6 Parvis Notre-Dame - Pl. Jean-Paul II, 75004 Paris, France",
      "location": {
        "latitude": 48.852968200000007,
        "longitude": 2.3499021
      },
      "displayName": {
        "text": "Cathédrale Notre-Dame de Paris",
        "languageCode": "en"
      }
    }
  ]
}

Wie Sie sehen, verweisen die Koordinaten tatsächlich auf Notre-Dame.

Eingang von Notre-Dame Karte der Umgebung von Notre Dame

Als Entwickler oder Dienstanbieter ist es sinnvoll, den Fahrer automatisch zu fragen, ob er einen Parkplatz in der Nähe von Notre Dame sucht. Wenn der Fahrer ein Elektrofahrzeug hat, können Sie auch nach einer Ladestation suchen. Die Nutzerfreundlichkeit hängt vom Gerät und Bildschirm ab. Ein dezenter Dialogtext, der nach kurzer Zeit verschwindet, könnte in diesem Fall infrage kommen. Wenn Sie Parkplätze in der Nähe von Notre Dame finden möchten, führen Sie eine Nearby-Suche mit der Places API mit den Typen „parking“ und „electric_vehicle_charging_station“ und einem Radius von 500 Metern durch. Im folgenden Beispiel werden die Ergebnisse auf Parkplätze im Umkreis von 500 Metern um Notre Dame beschränkt.

curl -X POST -d '{
  "includedTypes": ["parking", "electric_vehicle_charging_station"],
  "maxResultCount": 10,
  "rankPreference": "DISTANCE",
  "locationRestriction": {
    "circle": {
      "center": {
        "latitude": 48.852968200000007,
        "longitude": 2.3499021},
      "radius": 500.0
    }
  }
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H "X-Goog-FieldMask: places.displayName,places.location" \
https://places.googleapis.com/v1/places:searchNearby

Das erste Ergebnis ist eine Ladestation bei 48.854981, 2.350629. Wenn Sie dieses Beispiel ausführen, können die Ergebnisse jedoch variieren. Verwenden Sie diesen Ort im nächsten Teil, in dem wir eine Routes API-Anfrage stellen.

2. Routes API-Anfrage

Wenn Sie die Route vom Bahnhof zu einer Ladestation in der Nähe von Notre Dame abrufen möchten, müssen Sie eine Anfrage an die Routes API senden. Legen Sie einfach die Parameter für Start- und Zielort fest. Weitere Optionen finden Sie in der Entwicklerdokumentation.

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 48.87697775149635,
        "longitude": 2.3592247806755564
      }
    }
  },
  "destination":{
    "location":{
      "latLng":{
       "latitude": 48.854981,
        "longitude": 2.350629
      }
    }
  },
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "departureTime": "2024-05-16T15:01:23.045123456Z",
  "computeAlternativeRoutes": false,
  "routeModifiers": {
    "avoidTolls": false,
    "avoidHighways": false,
    "avoidFerries": false
  },
  "languageCode": "en-US",
  "units": "METRIC"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,routes.polyline.encodedPolyline' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Die Antwort der Routes API enthält in der Regel mehrere Routenvorschläge. Wenn Sie die Routendaten in die Antwort einbeziehen möchten, definieren Sie „routes.legs“ in der Feldmaske. Jede Route besteht aus mehreren „Abschnitten“, die wiederum mehrere „Schritte“ mit Reiseentfernung und Koordinaten enthalten. Die endgültigen Koordinaten, die mit dem Auto erreicht werden können, finden Sie im Feld „endLocation“ des letzten Schritts des letzten Abschnitts einer von Ihnen ausgewählten Route. „latitude“: 48.854937299999996, „longitude“: 2.3505841999999997

Dieser Ort mag nicht die erste Wahl sein, aber wenn Sie sich die Karte oder Google Street View ansehen, werden Sie feststellen, dass er nur etwa 6 bis 7 Gehminuten von Notre Dame entfernt ist.

Route nach Notre Dame

Fußgängerroute vom Parkplatz mit Ladestation zur Notre-Dame

Zusammenfassung für Beispiel 1

Wie Sie sehen, sind nur wenige API-Aufrufe erforderlich, um einen Parkplatz für ein Auto zu finden und dem Fahrer den Vorschlag anzuzeigen. Das spart Ihren Nutzern Zeit, da sie nicht auf Einbahnstraßen fahren oder versuchen müssen, an einer überfüllten Touristenattraktion einen Parkplatz zu finden. Zusammenfassend haben wir die folgenden API-Anfragen gestellt:

  • Eine Places API-Textsuchanfrage zum Ermitteln der Koordinaten von Notre Dame
  • Eine Places API-Suche in der Nähe, um einen Parkplatz mit einer Ladestation für Elektroautos im Umkreis von 500 Metern um diese Koordinaten zu finden
  • Eine Anfrage an die Routes API, um eine Route zur Ladestation zu finden

Beispiel 2: Wegbeschreibung zu einem Terminal in einem großen Flughafen

Karte des Flughafens Heathrow

Ein weiteres Beispiel: Der Fahrer versucht, ein großes Gebiet mit mehreren Orten, POIs oder potenziellen Abgabeorten zu erreichen. Der Fahrer fährt vom Wembley-Stadion im Vereinigten Königreich (51.557263604707224, -0.2794575145680608) ab und möchte zum Terminal 5 des Flughafens London Heathrow fahren.

Ein großer Vorteil der neuen Places API Autocomplete ist die Möglichkeit, primäre Typen als Suchkriterien in Kombination mit der API zu definieren, die untergeordnete Räumlichkeiten als potenzielle Suchergebnisse vorhersagt. In diesem Fall bedeutet das, dass bei der Suche nach einem Flughafen und Parkplätzen auch Terminals oder Parkhäuser zurückgegeben werden. Eine vollständige Liste der Typen, die Sie ein- oder ausschließen können, finden Sie in der Dokumentation.

curl -X POST -d '{
  "input": "Heathrow",
  "includedPrimaryTypes": ["airport", "parking"]
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
https://places.googleapis.com/v1/places:autocomplete

Die obige Abfrage liefert eine Liste der Terminals und der einzelnen Abgabeorte an diesen Terminals. In der Ergebnisliste finden wir „London Heathrow Airport Terminal 5“ und die zugehörige Orts-ID:

"place_id" : "ChIJo21hnPxxdkgRksRL0KQRWII",

Mit dem Parameter „placeId“ können wir der Routes API mitteilen, dass wir einen Ort und nicht beliebige Koordinaten erreichen möchten.

curl -X POST -d '{
  "origin":{
    "location":{
      "latLng":{
        "latitude": 51.557263604707224,
        "longitude": -0.2794575145680608
      }
    }
  },
  "destination":{
    "placeId": "ChIJo21hnPxxdkgRksRL0KQRWII"
  },
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE",
  "departureTime": "2024-05-16T15:01:23.045123456Z",
  "computeAlternativeRoutes": false,
  "languageCode": "en-US",
  "units": "METRIC"
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key: $APIKEY" \
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.legs,routes.polyline.encodedPolyline' \
'https://routes.googleapis.com/directions/v2:computeRoutes'

Wie im vorherigen Beispiel finden Sie auch hier in der JSON-Antwort den letzten Teil der Route und die Breiten- und Längengrade des Endpunkts (51.4714348, "longitude": -0.48967890000000003).

Street View vom Terminal 5

Zusammenfassung für Beispiel 2

Wie im vorherigen Beispiel ist der Entwicklungsaufwand, um dem Fahrer eine verbesserte Anleitung zu geben, sehr gering und die Zeitersparnis für den Fahrer kann gemessen werden. Wir haben die folgenden Anfragen gestellt:

  • Eine Places API Autocomplete (New)-Anfrage zum Suchen von Terminal 5 des Flughafens Heathrow
  • Eine Anfrage an die Routes API, um eine Route von Wembley zum Terminal 5 abzurufen

Dieses Beispiel gibt nur einen kleinen Einblick in die neuen Places API-Funktionen. Sehen Sie sich einige der neuen Ortstypen wie Flugplatz und internationaler Flughafen an.

Fazit

Wie Sie sehen, ist der Entwicklungsaufwand, um Ihren Kunden, die mit dem Auto unterwegs sind, einen Premium-Service zu bieten, relativ gering. Sie können so zeigen, dass Sie an die Bedürfnisse Ihrer Kunden denken.

Für Entwicklungszwecke können Sie viele der Bibliotheken und Tools verwenden, die Ihnen zur Verfügung stehen, um die Dienste für Ihre Kunden zu erstellen. Sehen Sie sich unser öffentlich verfügbares GitHub-Repository für die Google Maps Platform an.

Nächste Aktionen

Erste Schritte mit GMP : https://developers.google.com/maps/get-started

Empfohlene weiterführende Informationen

Dokumentation zum Autocomplete-Dienst der Places API (neu): https://developers.google.com/maps/documentation/places/web-service/place-autocomplete

Dokumentation zur Routes API: https://developers.google.com/maps/documentation/routes

Beitragende

Hauptautor: Mikko Toivanen | Google Maps Platform Solutions Engineer