Omówienie migracji

Deweloperzy z Europejskiego Obszaru Gospodarczego (EOG)

W tym przewodniku znajdziesz najważniejsze różnice między starszą usługą Miejsca a nową klasą Place. Przejście na klasę Place przynosi istotne 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. Podczas przechodzenia na nowszą wersję interfejsu API obciążamy Cię też za inny kod 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 progi cenowe. Informacje o poziomach cenowych znajdziesz na stronie z cennikiem i w najczęstszych pytaniach dotyczących 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 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 za pomocą 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.

W tej tabeli pokazano, jak funkcje usługi Miejsca odpowiadają funkcjom klasy Place:

Usługa Miejsca (starsza wersja) Klasa miejsca (nowość)
Pola danych o miejscu Umieszczanie pól danych zajęć
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
Autocomplete zajęcia PlaceAutocompleteElement zajęcia
SearchBox zajęcia ---

Wczytywanie biblioteki Miejsc

Sposób wczytywania biblioteki Places 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 na najnowszą wersję interfejsu Places API: