Obliczanie podsumowania trasy
Aby używać funkcji Wyszukiwanie tekstowe (nowe) lub Wyszukiwanie w pobliżu (nowe) do obliczania czasu podróży i odległości do każdego miejsca w odpowiedzi:
-
Przekaż w żądaniu parametr
routingParameters.origin, aby określić współrzędne szerokości i długości geograficznej punktu początkowego trasy. Ten parametr jest wymagany do obliczenia czasu trwania i odległości do każdego miejsca w odpowiedzi. -
Uwzględnij
routingSummariesw masce pola, aby odpowiedź zawierała tablicęroutingSummaries. Ta tablica zawiera czas trwania 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 usługi Text Search (New)
W tym żądaniu obliczasz czas podróży i odległość do każdego miejsca w odpowiedzi na wyszukiwanie tekstowe (nowe):
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 odpowiedniej lokalizacji tablicy jako 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 miejsca jest niedostępny, wpis tablicy jest pusty.
Ten przykład oblicza czas trwania i odległość od punktu początkowego trasy do każdego miejsca, dlatego pole routingSummaries.legs w odpowiedzi zawiera pojedynczy obiekt Leg, który zawiera pola 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 wynika, że czas trwania 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 na wyszukiwanie w pobliżu. W tym przykładzie wyszukiwane są restauracje w Sydney w Australii, a ograniczenie lokalizacji i punkt początkowy trasy są ustawione 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 miejsca rozpoczęcia trasy. Możesz na przykład ustawić locationRestriction na centrum Sydney, aby wyniki wyszukiwania były ukierunkowane na ten obszar. Następnie ustawiasz punkt początkowy trasy na współrzędne swojego domu, czyli na inną lokalizację w obrębie okręgu wyszukiwania. Żądanie powoduje, że wyniki wyszukiwania są ograniczone do okręgu, a podsumowania tras są obliczane na podstawie lokalizacji Twojego domu.
Określanie opcji podróży
Domyślnie czas trwania i odległość są obliczane dla samochodu. Możesz jednak kontrolować typ pojazdu i inne opcje w wyszukiwarce.
-
Użyj parametru
routingParameters.travelMode, aby ustawić środek transportu naDRIVE,BICYCLE,WALKlubTWO_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 routingu naTRAFFIC_UNAWARE(domyślnie),TRAFFIC_AWARElubTRAFFIC_AWARE_OPTIMAL. Każda opcja zapewnia inny poziom jakości danych i opóźnienia. Więcej informacji znajdziesz w artykule Określanie, czy i jak uwzględniać dane o natężeniu ruchu.Właściwość
routingParameters.routingPreferencewpływa na wskazówki dojazdu zawarte w polu Podgląd (wersja przed GA)directionsUri, ponieważ Mapy Google wyświetlają opcje ruchu po otwarciu linku. -
Użyj właściwości
routingParameters.routeModifiers, aby określićavoidTolls,avoidHighways,avoidFerriesiavoidIndoor. Więcej informacji o tych opcjach znajdziesz w artykule Określanie cech trasy, których należy unikać.
W kolejnym przykładzie określasz środek transportu jako DRIVE i unikasz 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 kliknij ikonę interfejsu API api.
Opcjonalnie możesz edytować parametry żądania.
Kliknij przycisk Wykonaj. W oknie wybierz konto, którego chcesz użyć do wysłania prośby.
W panelu APIs Explorer kliknij ikonę pełnego ekranu fullscreen, aby rozwinąć okno narzędzia APIs Explorer.