Omówienie migracji

Deweloperzy z Europejskiego Obszaru Gospodarczego (EOG)

W tym przewodniku opisujemy najważniejsze różnice między starszą wersją usługi Places a nową klasą Place. Przejście na klasę Place wiąże się z wieloma korzyściami, m.in. z lepszą wydajnością i nowym modelem cenowym. Aby w pełni wykorzystać możliwości usługi Places 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 dotyczą sytuacji, gdy korzystasz z interfejsu API na tyle intensywnie, że kwalifikujesz się do cen drugiego poziomu. Podczas migracji do nowszej wersji interfejsu API opłaty są naliczane za inny identyfikator SKU. Aby uniknąć wzrostu kosztów w miesiącu przejścia, zalecamy jak najszybsze przejście na nowe interfejsy API w środowisku produkcyjnym, najlepiej na początku miesiąca. Dzięki temu w miesiącu migracji osiągniesz najbardziej opłacalne miesięczne progi cenowe. Więcej informacji o progach 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ć Places API (nowa wersja) w projekcie Google Cloud. Więcej informacji znajdziesz w artykule Pierwsze kroki.

Ogólne zmiany

W tabeli poniżej znajdziesz niektóre z głównych różnic między PlacesService a Place:

PlacesService (starsza wersja) Place (nowa wersja)
Metody wymagają użycia wywołania zwrotnego do obsługi obiektu wyników i google.maps.places.PlacesServiceStatus odpowiedzi. Korzysta z obietnic i działa asynchronicznie.
Metody wymagają sprawdzenia PlacesServiceStatus. Nie wymaga sprawdzania stanu, można używać standardowej obsługi błędów.
Pola danych o miejscach są formatowane za pomocą notacji snake case. Pola danych o miejscach są formatowane za pomocą notacji camel case.
Ograniczone do stałego zestawu typów miejsc i pól danych o miejscach. Zawiera 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 o miejscach i typy miejsc co starsza wersja usługi Places, a także wiele nowych wartości pól danych o miejscach i typów miejsc.

W tej tabeli pokazujemy, jak funkcje usługi Places są mapowane na funkcje klasy Place:

Usługa Places (starsza wersja) Klasa Place (nowa wersja)
Pola danych o miejscach Pola danych klasy Place
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 Places

Sposób wczytywania biblioteki Miejsc przez aplikację zależy od używanego narzędzia do wczytywania. Jeśli aplikacja korzysta z dynamicznego importu biblioteki, możesz wczytać potrzebne biblioteki w czasie działania, używając operatora await do wywołania importLibrary(), jak pokazano poniżej:

const { Place } = await google.maps.importLibrary("places");

Jeśli aplikacja używa tagu bezpośredniego wczytywania skryptu, poproś o bibliotekę places w skrypcie programu ładującego:

<script async
    src="/maps.googleapis.com/maps/api/js?key=%3Cspan%20data-devsite-credential-type="api_key" class="replaceable-credential">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 do najnowszej wersji interfejsu Places API: