Obliczanie podsumowania trasy
Aby obliczyć czas podróży i odległość do każdego miejsca w odpowiedzi za pomocą wyszukiwania tekstowego (nowego) lub wyszukiwania w pobliżu (nowego):
-
W żądaniu przekaż parametr
routingParameters.origin, aby określić współrzędne geograficzne szerokości i długości geograficznej punktu początkowego trasy. Ten parametr jest wymagany do obliczenia czasu i odległości do każdego miejsca w odpowiedzi. -
Dodaj
routingSummariesdo maski pola, aby odpowiedź zawierała tablicęroutingSummaries. Ta tablica zawiera czas i odległość od punktu początkowego trasy do każdego miejsca w odpowiedzi.
Narzędzie APIs Explorer umożliwia wysyłanie żądań w czasie rzeczywistym, dzięki czemu możesz zapoznać się z interfejsem API i jego opcjami:
Korzystanie z wyszukiwania tekstowego (nowego)
W tym żądaniu obliczasz czas podróży i odległość do każdego miejsca w odpowiedzi wyszukiwania tekstowego (nowego):
curl -X POST -d '{
"textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
"routingParameters": {
"origin": {
"latitude": -33.8688,
"longitude": 151.1957362
}
}
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'Odpowiedź zawiera 2 tablice JSON: tablica places zawiera pasujące miejsca, a tablica routingSummaries zawiera czas i odległość do każdego miejsca:
{ "places": [ { object (Place) } ] "routingSummaries": [ { object (RoutingSummary) } }
Każdy element w tablicy routingSummaries znajduje się w tej samej lokalizacji co miejsce w tablicy places. Oznacza to, że element w routingSummaries[0] odpowiada miejscu w places[0].
Długość tablicy routingSummaries jest taka sama jak długość tablicy places. Jeśli routingSummary dla danego miejsca jest niedostępny, wpis w tablicy jest pusty.
Ponieważ w tym przykładzie obliczany jest czas i odległość od punktu początkowego trasy do każdego miejsca, pole routingSummaries.legs w odpowiedzi zawiera pojedynczy obiekt Leg, który zawiera duration i distanceMeters od punktu początkowego trasy do miejsca.
{ "places": [ { "formattedAddress": "1, Westfield Sydney Central Plaza, 450 George St, Sydney NSW 2000, Australia", "displayName": { "text": "Gözleme King Sydney", "languageCode": "en" } }, { "formattedAddress": "367 Pitt St, Sydney NSW 2000, Australia", "priceLevel": "PRICE_LEVEL_MODERATE", "displayName": { "text": "Mother Chu's Vegetarian Kitchen", "languageCode": "en" } }, … ] "routingSummaries": [ { "legs": [ { "duration": "597s", "distanceMeters": 2607 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3fa97cd745:0x6aecf365bf497c08!3e0" }, { "legs": [ { "duration": "562s", "distanceMeters": 2345 } ], "directionsUri": "https://www.google.com/maps/dir/-33.8688,151.1957362/''/data=!4m6!4m5!1m0!1m2!1m1!1s0x6b12ae3da97f60c1:0x845f3273bd764f6c!3e0" }, … ] }
Z tego przykładu widać, że czas i odległość od punktu początkowego trasy do pierwszego miejsca w wynikach to 597 sekund i 2607 metrów.
Korzystanie z wyszukiwania w pobliżu
W tym przykładzie obliczasz czas podróży i odległość do każdego miejsca w odpowiedzi wyszukiwania w pobliżu. Ten przykład wyszukuje restauracje w Sydney w Australii i ustawia ograniczenie lokalizacji oraz punkt początkowy trasy na te same współrzędne geograficzne:
curl -X POST -d '{
"includedTypes": ["restaurant"],
"maxResultCount": 10,
"locationRestriction": {
"circle": {
"center": {
"latitude": -33.8688,
"longitude": 151.1957362},
"radius": 500.0
}
},
"routingParameters": {
"origin": {
"latitude": -33.8688,
"longitude": 151.1957362
}
}
}' \
-H 'Content-Type: application/json' -H "X-Goog-Api-Key:API_KEY" \
-H "X-Goog-FieldMask: places.displayName,routingSummaries" \
https://places.googleapis.com/v1/places:searchNearbyNie musisz używać tych samych współrzędnych dla locationRestriction i punktu początkowego trasy. Możesz na przykład ustawić locationRestriction na środek Sydney, aby wyniki wyszukiwania były bardziej zbliżone do tego okręgu. Następnie ustawisz punkt początkowy trasy na współrzędne swojego domu, czyli na inną lokalizację w okręgu wyszukiwania. Żądanie spowoduje wtedy, że wyniki wyszukiwania będą bardziej zbliżone do okręgu, a podsumowania trasy zostaną obliczone na podstawie lokalizacji Twojego domu.
Określanie opcji podróży
Domyślnie obliczenia czasu i odległości dotyczą samochodu. Możesz jednak kontrolować typ pojazdu i inne opcje w wyszukiwaniu.
-
Użyj parametru
routingParameters.travelMode, aby ustawić środek transportu naDRIVE,BICYCLE,WALK, lubTWO_WHEELER. Więcej informacji o tych opcjach znajdziesz w artykule Dostępne typy pojazdów na trasach. -
Użyj właściwości
routingParameters.routingPreference, aby ustawić opcję preferencji trasy naTRAFFIC_UNAWARE(domyślnie),TRAFFIC_AWARElubTRAFFIC_AWARE_OPTIMAL. Każda opcja ma różne poziomy jakości danych i opóźnienia. Więcej informacji znajdziesz w artykule Określanie, jak i czy uwzględniać dane o ruchu drogowym.Właściwość
routingParameters.routingPreferencewpływa na wskazówki dojazdu zawarte w poludirectionsUriw wersji testowej (przed GA), ponieważ Mapy Google wyświetlają opcje ruchu, gdy otwierają link. -
Użyj właściwości
routingParameters.routeModifiers, aby określićavoidTolls,avoidHighways,avoidFerries, iavoidIndoor. Więcej informacji o tych opcjach znajdziesz w artykule Określanie cech trasy, których należy unikać.
W następnym przykładzie określisz środek transportu jako DRIVE i unikniesz autostrad:
curl -X POST -d '{
"textQuery" : "Spicy Vegetarian Food in Sydney, Australia",
"routingParameters": {
"origin": {
"latitude": -33.8688,
"longitude": 151.1957362
},
"travelMode":"DRIVE",
"routeModifiers": {
"avoidHighways": true
}
}
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: API_KEY' \
-H 'X-Goog-FieldMask: places.displayName,places.formattedAddress,places.priceLevel,routingSummaries' \
'https://places.googleapis.com/v1/places:searchText'Wypróbuj
Narzędzie APIs Explorer umożliwia wysyłanie przykładowych żądań, dzięki czemu możesz zapoznać się z interfejsem API i jego opcjami.
Po prawej stronie strony kliknij ikonę interfejsu API api.
Opcjonalnie edytuj parametry żądania.
Kliknij przycisk Wykonaj. W oknie dialogowym wybierz konto, którego chcesz użyć do wysłania żądania.
W panelu APIs Explorer kliknij ikonę pełnego ekranu fullscreen, aby rozwinąć okno APIs Explorer.