W tym przewodniku opisujemy najważniejsze różnice między starszą wersją usługi Miejsca a nową klasą Place. Przejście na klasę Place daje wiele korzyści, w tym większą wydajność i nowy model cenowy. Aby w pełni wykorzystać możliwości Miejsc i mieć pewność, że Twoje aplikacje są aktualne, zapoznaj się ze zmianami opisanymi w tym przewodniku.
Sprawdzone metody dotyczące płatności w przypadku migracji
Te wskazówki obowiązują, jeśli wykorzystanie interfejsu API jest wystarczająco wysokie, aby przejść na ceny drugiego poziomu. Podczas migracji do nowszej wersji interfejsu API zostanie naliczona opłata za inny kod SKU. Aby uniknąć wzrostu kosztów w miesiącu przejścia, zalecamy przejście na nowe interfejsy API w środowisku produkcyjnym jak najbliżej początku miesiąca. Dzięki temu w miesiącu migracji osiągniesz najbardziej opłacalne miesięczne progi cenowe. Informacje o poziomach cenowych znajdziesz na stronie z cennikiem i w odpowiedziach na najczęstsze pytania dotyczące cen.
Włączanie interfejsu Places API
Klasa Place korzysta z usługi Places API. Aby korzystać z funkcji nowej klasy Place, musisz najpierw włączyć interfejs Places API (nowy) w projekcie Google Cloud. Więcej informacji znajdziesz w artykule Pierwsze kroki.
Ogólne zmiany
W poniższej tabeli wymieniono niektóre główne różnice między PlacesService i Place:
PlacesService (starsza wersja) |
Place (Nowy) |
|---|---|
Metody wymagają użycia wywołania zwrotnego do obsługi obiektu wyników i google.maps.places.PlacesServiceStatusodpowiedzi. |
Korzysta z obiektów Promise i działa asynchronicznie. |
Metody wymagają sprawdzenia PlacesServiceStatus. |
Nie wymaga sprawdzania stanu, można użyć standardowej obsługi błędów. |
| Pola danych o miejscach są sformatowane w notacji snake case. | Pola danych o miejscu są sformatowane w notacji camel case. |
| Ograniczone do stałego zestawu typów miejsc i pól danych o miejscach. | Zapewnia rozszerzony wybór regularnie aktualizowanych typów miejsc i pól danych miejsc. |
Zmiany dotyczące interfejsu API
Klasa Place udostępnia interfejs API do korzystania z biblioteki Places i obsługuje nowoczesne wzorce użycia, takie jak obietnice. Klasa Place udostępnia te same pola danych miejsca i typy miejsc co starsza usługa Miejsca, a także wiele nowych wartości pól danych miejsca i typów miejsc.
W poniższej tabeli pokazano, w jaki sposób cechy usługi Places mapują się na cechy klasy Place:
Wczytywanie biblioteki Miejsc
Sposób wczytywania biblioteki Miejsc przez aplikację zależy od używanego programu ładującego. Jeśli Twoja aplikacja korzysta z dynamicznego importowania bibliotek, możesz wczytywać potrzebne biblioteki w czasie działania, używając operatora await do wywoływania importLibrary(), jak pokazano poniżej:
const { Place } = await google.maps.importLibrary("places");
Jeśli Twoja aplikacja używa tagu bezpośredniego wczytywania skryptu, w skrypcie wczytującym zażądaj biblioteki places:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap">
</script>Więcej informacji o wczytywaniu interfejsu Maps JavaScript API
Ta sekcja zawiera te przewodniki, które pomogą Ci przenieść aplikacje, aby korzystały z najnowszej wersji interfejsu Places API:
- Migracja do szczegółów miejsca
- Migracja do wyszukiwania tekstowego (nowość)
- Migracja do wyszukiwania w pobliżu (nowość)
- Migracja do Zdjęć miejsc
- Przenoszenie do opinii o miejscach
- Przejście na Autouzupełnianie miejsc