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:
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:
- Migracja do informacji o miejscu
- Migracja do wyszukiwania tekstowego (nowa wersja)
- Migracja do wyszukiwania w pobliżu (nowa wersja)
- Migracja do Place Photos
- Migracja do opinii o miejscach
- Migracja do autouzupełniania miejsc