Funkcje pakietu Places SDK na Androida, które są dostępne w Twojej aplikacji, zależą od kombinacji numeru wersji pakietu SDK (np. 3.5.0), który określisz w konfiguracji aplikacji, interfejsów API włączonych w kluczu API oraz sposobu inicjowania aplikacji. W tym przewodniku znajdziesz informacje o różnicach między wersjami oraz o tym, jak wybrać wersje włączone w aplikacji.
Numery wersji pakietu SDK
Liczba wersji pakietu SDK określona w pliku build.gradle na poziomie aplikacji określa, czy aplikacja ma dostęp do funkcji dodanych w konkretnej wersji. Na przykład funkcja Autocomplete (Nowa) jest dostępna tylko w pakiecie SDK w wersji 3.5.0 lub nowszej.
Więcej informacji o zmianach wprowadzonych w poszczególnych wersjach pakietu SDK znajdziesz w notatkach do wersji pakietu SDK Miejsca na Androida.
Wersje interfejsu Places API w pakiecie SDK Miejsc na Androida
Oprócz podania numeru wersji pakietu SDK musisz też wybrać usługę interfejsu Places API, którą wywołuje pakiet SDK w Konsoli Google Cloud: Places API lub Places API (nowy). Wybrana usługa interfejsu API wraz z numerem wersji pakietu SDK określa, które wersje poszczególnych funkcji są dostępne w aplikacji, np. autouzupełnianie lub autouzupełnianie (nowa wersja). Chociaż możesz określić tylko jedną wersję pakietu SDK, możesz jednocześnie włączyć interfejsy API Miejsca i Miejsca (Nowy) za pomocą klucza API, a potem wybrać, który z nich ma wywoływać pakiet SDK za pomocą metody używanej do inicjowania pakietu SDK w aplikacji. W większości przypadków warto jednak włączyć interfejs API Miejsca (Nowy) i korzystać w aplikacji z wersji (Nowy) funkcji pakietu SDK.
Wybierz wersję pakietu SDK i usługi interfejsu API
Aby wybrać funkcje pakietu SDK, które mają być dostępne w aplikacji:
- W projekcie Google Cloud włącz interfejs Places API, Places API (New) lub oba te interfejsy. Więcej informacji znajdziesz w artykule Włączanie interfejsów API.
- W ograniczeniach klucza interfejsu API włącz interfejs Places API, interfejs Places API (nowa wersja) lub oba te interfejsy. Więcej informacji znajdziesz w artykule Ograniczanie dostępu do kluczy API.
W pliku build.gradle na poziomie aplikacji określ numer wersji. Więcej informacji znajdziesz w artykule Instalacja.
.Zainicjuj aplikację, wywołując metodę
Places.initializeWithNewPlacesApiEnabled()
lubPlaces.initialize()
.
Więcej informacji o wybieraniu usługi Places API znajdziesz w artykule Konfigurowanie projektu Google Cloud.
Funkcje pakietu SDK dostępne w poszczególnych wersjach
W poniższej tabeli znajdziesz informacje o tym, których wersji pakietu SDK i wersji interfejsu API wymaga dana funkcja pakietu SDK:
Funkcja | Interfejs Places API włączony w kluczu API | Metoda inicjowania | Minimalna wersja pakietu SDK |
---|---|---|---|
Autouzupełnianie (nowa wersja) | Places API (nowość) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
Szczegóły miejsca (nowa) | Places API (nowość) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
Wyszukiwanie w pobliżu (nowość) | Places API (nowość) | initializeWithNewPlacesApiEnabled() |
3.5.0 |
Umieszczanie zdjęć (nowość) | Places API (nowość) | initializeWithNewPlacesApiEnabled() |
3.4.0 |
Wyszukiwanie tekstu (nowa funkcja) | Places API (nowość) | initializeWithNewPlacesApiEnabled() |
3.3.0 |
Autouzupełnianie miejsc | Places API | initialize() |
|
Aktualne miejsce | Places API | initialize() |
|
Szczegóły miejsca | Places API | initialize() |
|
Znajdowanie zdjęć | Places API | initialize() |
Uwagi dotyczące wyboru wersji do włączenia
Aby ułatwić sobie wybór wersji, weź pod uwagę te informacje:
- Jeśli jesteś nowym klientem i zaczynasz dopiero korzystać z pakietu Places SDK na Androida, zacznij od interfejsu Places API (nowy) i nowego pakietu SDK.
- Jeśli jesteś obecnym klientem, możesz nadal używać dotychczasowego pakietu SDK. Aby jednak korzystać z ulepszonego działania i funkcji pakietu Places SDK na Androida (nowy), musisz używać nowego pakietu SDK. Przejście na nowy pakiet SDK nie wymaga migracji. Wystarczy, że wykonasz czynności opisane w artykule Wybieranie wersji pakietu SDK i usług interfejsu API.
- W pakiecie Places SDK na Androida (nowy) tokeny sesji są dostępne od wersji 3.5.0. Więcej informacji znajdziesz w artykule Tokeny sesji.
- Wywołania wykonane za pomocą widżetów autouzupełniania miejsc zawsze wywołują PlaceAutocomplete, a nie PlaceAutocomplete (New). Metoda inicjalizacji nie ma wpływu na wywołania widżetu.
- Place Photos (New) zwraca tylko identyfikator URI obrazu bitmapowego, a Place Photos zwraca tylko obraz bitmapowy.
- Obecne miejsce jest dostępne tylko w pakiecie SDK Miejsc na Androida, a nie w pakiecie SDK Miejsc na Androida (nowy).
Ulepszenia w pakiecie SDK Miejsc na Androida (nowość)
Ta sekcja zawiera najważniejsze funkcje dodane do pakietu SDK Miejsc na Androida (nowy).
wdrożone na platformie standardowej Google Cloud;
Pakiet SDK Miejsc na Androida (nowy) jest implementowany w infrastrukturze usługi w Google Cloud. Dzięki temu wdrożeniu platforma jest bezpieczniejsza i bardziej zaufana. Ten standardowy interfejs zapewnia spójność pakietów SDK, co zwiększa efektywność tworzenia aplikacji za pomocą pakietu SDK Miejsc na Androida (nowy).
Poprawiona wydajność
Pakiet SDK Miejsc na Androida (nowy) zapewnia lepszą wydajność, dzięki czemu warto zastąpić aplikacje, które korzystają z dotychczasowego pakietu SDK.
Nowe funkcje
Pakiet SDK Miejsca na Androida (nowy) zawiera najnowsze wersje wszystkich funkcji pakietu SDK:
- Autouzupełnianie (nowa wersja)
- Szczegóły miejsca (nowa)
- Wyszukiwanie w pobliżu (nowość)
- Umieszczanie zdjęć (nowość)
- Wyszukiwanie tekstu (nowa funkcja)
Nowa usługa wyszukiwania tekstu
Wyszukiwanie tekstowe (nowość) zwraca informacje o zbiorze miejsc na podstawie ciągu znaków, np. „pizza w Nowym Jorku”, „sklepy obuwnicze w pobliżu Ottawy” lub „123 Ulica Główna”. Usługa zwraca listę miejsc pasujących do ciągu tekstowego i współrzędnych lokalizacji.
nowe dane odpowiedzi dodane do Szczegółów miejsca docelowego (nowy) i Zdjęć miejsca docelowego (nowy);
Szczegóły miejsca (nowa wersja) zawiera teraz nową klasę Review w obiekcie
Place
w odpowiedzi. Klasa Place zawiera nową metodęgetReviews()
, która obsługuje to pole. WywołajgetReviews()
, aby uzyskać maksymalnie 5 opinii o danym miejscu.Umieszczanie zdjęcia (nowa funkcja) umożliwia dodanie zdjęcia
AuthorAttributions
do klasyPhotoMetadata
. ObiektAuthorAttributions
zawieraList
obiektówAuthorAttribution
.
Dodano nową odpowiedź URI do zdjęć miejsc (nowa wersja)
Teraz możesz użyć metody Place Photo (Nowa), aby zwrócić identyfikator URI bitmapy obrazu. Wcześniej można było zwrócić tylko samą bitmapę obrazu.
Uproszczone ustalanie cen
Pakiet Places SDK na Androida (nowy) upraszcza cennik, dzięki czemu płacisz tylko za używane dane. Uproszczone ustalanie cen jest wdrażane za pomocą list pól, zwanych też maskami pól.
W przypadku zapytań Szczegóły miejsca i Wyszukiwanie tekstu możesz używać list pól, aby kontrolować listę pól zwracanych w odpowiedzi. Następnie naliczymy opłatę tylko za żądane dane. Korzystanie z listy pól to dobra praktyka projektowania, która pozwala uniknąć żądania niepotrzebnych danych, co pomaga uniknąć niepotrzebnego czasu przetwarzania i opłat.
Szczegółowe informacje o cenach obu pakietów SDK znajdziesz w sekcji Wykorzystanie i rozliczenia.
Rozszerzone typy miejsc
Nowy pakiet SDK dodaje typy miejsc widoczne w tabeli poniżej. Te typy są zwracane w ramach odpowiedzi na zapytanie dotyczące szczegółów miejsca i wyszukiwania tekstowego. Z nowych typów, a także z dotychczasowych, możesz też korzystać w wyszukiwaniu tekstowym. Nowe typy znajdują się w tabeli A.
Typ | |||
---|---|---|---|
american_restaurant | discount_store | ice_cream_shop | sandwich_shop |
amusement_center | dog_park | indian_restaurant | school_district |
athletic_field | electric_vehicle_charging_station | indonesian_restaurant | seafood_restaurant |
auto_parts_store | event_venue | italian_restaurant | ski_resort |
banquet_hall | extended_stay_hotel | japanese_restaurant | spanish_restaurant |
barbecue_restaurant | gospodarstwo rolne | korean_restaurant | sporting_goods_store |
barber_shop | agroturystyka | lebanese_restaurant | sports_club |
bed_and_breakfast | fast_food_restaurant | Marina | sports_complex |
brazilian_restaurant | ferry_terminal | market | steak_house |
breakfast_restaurant | fitness_center | medical_lab | sushi_restaurant |
brunch_restaurant | french_restaurant | mediterranean_restaurant | swimming_pool |
bus_stop | gift_shop | mexican_restaurant | krawiec |
camping_cabin | golf_course | middle_eastern_restaurant | telecommunications_service_provider |
cell_phone_store | greek_restaurant | motel | thai_restaurant |
child_care_agency | grocery_store | national_park | transit_depot |
chinese_restaurant | guest_house | park_and_ride | truck_stop |
coffee_shop | hair_salon | performing_arts_theater | turkish_restaurant |
community_center | hamburger_restaurant | pizza_restaurant | vegan_restaurant |
konsultant | lądowisko dla helikopterów | plac zabaw | vegetarian_restaurant |
convention_center | hiking_area | przedszkole | vietnamese_restaurant |
chata | historical_landmark | private_guest_room | visitor_center |
courier_service | home_improvement_store | ramen_restaurant | wedding_venue |
cultural_center | hostel | resort_hotel | hurtownia |
dental_clinic | hotel | rest_stop |
Wraz z tymi nowymi typami interfejs Places API (New) przeniósł te typy z tabeli 2 interfejsu Places API do tabeli A interfejsu Places API (New). Oznacza to, że możesz teraz używać tych typów w ramach wyszukiwania:
country
administrative_area_level_1
administrative_area_level_2
postal_code
locality