W tym przewodniku opisujemy najważniejsze różnice między starszą usługą Places a nową klasą Place. Przejście na klasę Place przynosi znaczne korzyści, w tym lepszą wydajność i nowy model cenowy. Aby w pełni wykorzystać możliwości Miejsc i zapewnić aktualność aplikacji, zapoznaj się ze zmianami opisanymi w tym przewodniku.
Sprawdzone metody dotyczące płatności podczas migracji
Te wskazówki mają zastosowanie, jeśli wykorzystanie interfejsu API jest na tyle wysokie, że kwalifikuje się do cen na drugim poziomie. Podczas migracji do nowszej wersji interfejsu API opłaty są naliczane 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 uzyskasz najbardziej opłacalne poziomy cen miesięcznych. Informacje o kategoriach cenowych znajdziesz na stronie z cenami i w odpowiedziach na najczęstsze pytania dotyczące cen.
Włączanie Places API
Klasa Place korzysta z usługi Places API. Aby korzystać z funkcji nowej klasy Place, musisz najpierw włączyć Places API (New) w projekcie Google Cloud. Więcej informacji znajdziesz w artykule Pierwsze kroki.
Ogólne zmiany
W poniższej tabeli znajdziesz niektóre z głównych różnic między PlacesService a Place:
PlacesService (starsza wersja) |
Place (Nowość) |
|---|---|
Metody wymagają użycia wywołania zwrotnego do obsługi obiektu wyników i odpowiedzi google.maps.places.PlacesServiceStatus. |
Używa obiektów Promise i działa asynchronicznie. |
Metody wymagają sprawdzenia PlacesServiceStatus. |
Nie jest wymagane sprawdzanie stanu, można użyć standardowej obsługi błędów. |
| Pola danych Miejsc są sformatowane przy użyciu zapisu snake_case. | Pola danych o miejscach są sformatowane przy użyciu camelCase. |
| Ograniczone do stałego zestawu typów miejsc i pól danych o miejscach. | Zapewnia rozszerzony wybór regularnie aktualizowanych typów miejsc i pól danych o miejscach. |
Zmiany dotyczące interfejsów API
Klasa Place udostępnia interfejs API do korzystania z biblioteki Miejsc i obsługuje nowoczesne wzorce użytkowania, takie jak obietnice. Klasa Place udostępnia te same pola danych i typy miejsc co starsza usługa Places, a także zawiera wiele nowych wartości pól danych i typów miejsc.
Ta tabela pokazuje, jak funkcje usługi Places są mapowane na funkcje klasy Place:
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łania importLibrary(), jak pokazano tutaj:
const { Place } = await google.maps.importLibrary("places");
Jeśli Twoja aplikacja używa tagu bezpośredniego wczytywania skryptu, poproś o bibliotekę places w skrypcie modułu ładującego:
<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 przewodniki, które pomogą Ci przeprowadzić migrację aplikacji do najnowszej wersji Places API:
- Migracja do informacji o miejscu
- Migracja do usługi Wyszukaj tekst (New)
- Przejście na wyszukiwanie w pobliżu (nowa wersja)
- Migracja do Place Photos
- Przechodzenie na opinie o miejscu
- Przechodzenie na autouzupełnianie miejsc