W tym przewodniku opisujemy najważniejsze różnice między starszą wersją usługi Miejsca a nową klasą Place. Przejście na klasę Place przynosi wiele korzyści, w tym większą wydajność i nowy model cenowy. Aby w pełni wykorzystać potencjał 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 Twoje wykorzystanie interfejsu API jest wystarczająco wysokie, aby przejść na ceny drugiego poziomu. Jeśli przejdziesz na nowszą wersję interfejsu API, będziesz też obciążany(-a) opłatą za inny numer SKU. Aby uniknąć wzrostu kosztów w miesiącu przejścia, zalecamy przełączenie się 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 poziomy 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 w chmurze Google. Więcej informacji znajdziesz w artykule Pierwsze kroki.
Ogólne zmiany
W tej tabeli przedstawiliśmy niektóre z głównych różnic między PlacesService a 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ą formatowane przy użyciu 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 o miejscach. |
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.
Ta tabela pokazuje, jak funkcje usługi Miejsca odpowiadają funkcjom klasy Place:
Wczytywanie biblioteki Miejsc
Sposób wczytywania biblioteki Miejsc przez aplikację zależy od używanego narzędzia do wczytywania. 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 na najnowszą wersję interfejsu Places API:
- Migracja do informacji o miejscu
- Migracja do wyszukiwania tekstowego (nowość)
- Migracja do wyszukiwania w pobliżu (nowość)
- Migracja do Place Photos
- Migracja do opinii o miejscach
- Migracja do Autouzupełniania miejsc