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 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 miejscpó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:

Usługa Miejsca (starsza wersja) Klasa miejsca (nowość)
Pola danych miejsca 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 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: