W tym przewodniku opisaliśmy główne różnice między starą usługą Miejsca a nową klasą Miejsce. Przejście na klasę Miejsce daje wiele korzyści, w tym większą wydajność i nowy model cenowy. Aby w pełni korzystać z Usług lokalizacji i zadbać o aktualność aplikacji, zapoznaj się ze zmianami opisanymi w tym przewodniku.
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 (New) w projekcie Google Cloud. Więcej informacji znajdziesz w artykule Pierwsze kroki.
Ogólne zmiany
W tej tabeli opisano niektóre główne różnice między PlacesService
a Place
:
PlacesService (starsza wersja) |
Place (Nowy) |
---|---|
Metody wymagają użycia wywołania zwrotnego do obsługi obiektu wyników i odpowiedzi google.maps.places.PlacesServiceStatus . |
Korzysta z obietnic i działa asynchronicznie. |
Metody wymagają sprawdzenia PlacesServiceStatus . |
Nie wymaga sprawdzania stanu, może używać standardowej obsługi błędów. |
Pola danych miejsca są sformatowane w sposób snake case. | Pola danych o miejscach są sformatowane w stylu „camel case”. |
Ograniczone do stałego zbioru typów miejsc i pol danych o miejscach. | Udostępnia 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 i typy miejsc co starsza usługa Places Service, a także wiele nowych wartości dla pól danych i typów miejsc.
Ta tabela pokazuje, jak funkcje usługi Miejsca są mapowane na funkcje klasy Miejsce:
Wczytywanie biblioteki Miejsc
Sposób wczytywania przez aplikację biblioteki Miejsca zależy od tego, który ładowacz rozruchowy jest używany. Jeśli Twoja aplikacja korzysta z importu dynamicznej biblioteki, możesz wczytywać potrzebne biblioteki w czasie wykonywania, używając operatora await
do wywołania funkcji importLibrary()
, jak pokazano tutaj:
const { Place } = await google.maps.importLibrary("places");
Jeśli Twoja aplikacja korzysta z tagu bezpośredniego ładowania skryptu, w skrypcie wczytywania 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
W tej sekcji znajdziesz te przewodniki, które pomogą Ci przenieść aplikacje na najnowszą wersję interfejsu Places API: