Omówienie migracji

Deweloperzy z Europejskiego Obszaru Gospodarczego (EOG)

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 PlacesServicePlace:

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 miejscpól danych o miejscach. Zapewnia rozszerzony wybór regularnie aktualizowanych typów miejscpó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:

Usługa Miejsca (starsza wersja) Klasa miejsca (nowość)
Pola danych o miejscu Pola danych klasy miejsca
Typy miejsc Typy miejsc
PlacesService.findPlaceFromQuery() Place.searchByText()
PlacesService.findPlaceFromPhoneNumber() Place.searchByText()
PlacesService.textSearch() Place.searchByText()
PlacesService.nearbySearch() Place.searchNearby()
PlacesService.getDetails() Place.fetchFields()
Places.AutocompletionRequest Places.AutocompleteRequest
Places.AutocompletePrediction Places.PlacePrediction
Zajęcia Autocomplete Zajęcia PlaceAutocompleteElement
Zajęcia SearchBox ---

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: