Przegląd
Google Maps Platform jest dostępna w sieci (JS, TS), na Androidzie i iOS, Oferuje też interfejsy API usług internetowych do uzyskiwania informacji o miejscach, wskazówkach dojazdu i odległościach. Przykłady w tym przewodniku są napisane dla jednej platformy, ale linki do dokumentacji dotyczące implementacji na innych platformach.
Szybki kreator w konsoli Google Cloud umożliwia tworzenie autouzupełniania formularzy adresowych za pomocą interaktywnego interfejsu, który generuje kod JavaScript.
Użytkownicy przyzwyczaili się do życia i pracy w świecie cyfrowym, w którym wygoda, szybkość i bezpieczeństwo są podstawowymi oczekiwaniami. Gdy składają wniosek o kartę kredytową, konto bankowe lub pożyczkę, oczekują, że proces będzie szybki i łatwy.
Im więcej użytkownicy muszą wpisywać lub wprowadzać zduplikowanych danych, tym mniejsze masz szanse na utrzymanie ich jako klientów. Stworzenie szybkiego, łatwego i zweryfikowanego procesu rejestracji poprawi wygodę użytkowników i zwiększy szanse na to, że pozostaną oni w Twojej witrynie.
Adresy wpisywane ręcznie mogą prowadzić do obniżenia współczynników konwersji, błędnych danych w systemie CRM i kosztownych błędów w dostawie. Szybka i zweryfikowana rejestracja przyspiesza proces rejestracji, natychmiast sugerując pobliskie adresy po kilku dotknięciach kciukiem i wyświetlając wpisany adres w celu wizualnego potwierdzenia, co pomaga użytkownikowi upewnić się, że wpisał prawidłowy adres. Weryfikowanie adresu użytkownika na podstawie jego bieżącej lokalizacji pomaga też zapobiegać oszustwom i zwiększa zaufanie użytkowników do Twoich produktów i usług. Weryfikacja może też zwiększyć Twoje zaufanie do natychmiastowego udostępniania wirtualnych kart bankowych i kredytowych.
W tym dokumencie znajdziesz wskazówki dotyczące implementacji, które pomogą Ci stworzyć szybki i zweryfikowany proces rejestracji za pomocą Google Maps Platform. Ponieważ użytkownicy najprawdopodobniej będą się rejestrować na urządzeniach mobilnych, większość przykładów implementacji w tym dokumencie dotyczy Androida. Pełny przykład znajdziesz w przykładowym kodzie źródłowym. Do osiągnięcia tych samych celów możesz też użyć pakietów SDK na iOS.
Na diagramie poniżej przedstawiono główne interfejsy API używane do tworzenia rozwiązania (kliknij, aby powiększyć).
Włączam interfejsy API
Aby wdrożyć te rekomendacje, musisz włączyć te interfejsy API w konsoli Google Cloud:
- Maps SDK na Androida (lub interfejs API dla wybranej platformy)
- Places API
- Geocoding API
Więcej informacji o konfiguracji znajdziesz w artykule Pierwsze kroki z Google Maps Platform.
Sekcje ze sprawdzonymi metodami
W tym dokumencie opisujemy te sprawdzone metody i dostosowania.
- Ikona znacznika wyboru to podstawowa sprawdzona metoda.
- Ikona gwiazdki to opcjonalne, ale zalecane dostosowanie, które zwiększa skuteczność rozwiązania.
| Dodawanie autouzupełniania do pól do wprowadzania danych | Autouzupełnianie formularza adresu. Dodaj funkcję wpisywania w trakcie pisania, aby zwiększyć wygodę użytkowników na wszystkich platformach i poprawić dokładność adresu przy minimalnej liczbie naciśnięć klawiszy. | |
| Potwierdzanie adresu wizualnie | Umożliwiaj użytkownikom wyświetlanie swojego adresu na mapie, aby mogli wizualnie potwierdzić że wpisali prawidłowy adres. | |
| Porównywanie adresu wpisanego przez użytkownika z lokalizacją urządzenia | Porównaj wybrany lub wpisany przez użytkownika adres z jego bieżącą lokalizacją, aby sprawdzić, czy znajduje się on pod wskazanym adresem. (Aby to działało, użytkownicy powinni być w domu podczas rejestracji). | |
| Wskazówki dotyczące dalszego ulepszania szybkiej i zweryfikowanej rejestracji | Możesz jeszcze bardziej ulepszyć wprowadzanie adresu, dodając takie funkcje jak dostosowywanie wyglądu i sposobu działania widżetu autouzupełniania lub umożliwianie użytkownikom wybierania nazwy firmy lub punktu orientacyjnego jako adresu. |
Dodawanie autouzupełniania do pól do wprowadzania danych
| Ten przykład korzysta z: Places SDK na Androida | Dostępne też: iOS | JavaScript |
Autouzupełnianie miejsc może uprościć wprowadzanie adresu w Twojej aplikacji, co zwiększy współczynniki konwersji i zapewni klientom wygodę. Autouzupełnianie udostępnia jedno pole szybkiego wprowadzania z funkcją przewidywania adresu, która może automatycznie wypełniać formularz rejestracji. Dzięki włączeniu autouzupełniania miejsc w procesie rejestracji możesz:
- zmniejszyć liczbę błędów podczas wpisywania adresu;
- zmniejszyć liczbę kroków w procesie rejestracji;
- uprościć wprowadzanie adresu na urządzeniach mobilnych lub do noszenia;
- znacznie zmniejszyć liczbę naciśnięć klawiszy i łączny czas potrzebny klientowi na rejestrację.
Gdy użytkownik wybierze pole autouzupełniania i zacznie pisać, pojawi się lista przewidywanych adresów.
Gdy użytkownik wybierze adres z listy przewidywań, możesz użyć odpowiedzi, aby zweryfikować adres i uzyskać lokalizację. Twoja aplikacja może wtedy wypełnić prawidłowe pola formularza wprowadzania adresu, jak pokazano na ilustracji poniżej.

Filmy: ulepszanie formularzy adresowych za pomocą autouzupełniania miejsc
Formularze adresowe
Android
iOS
Sieć
Google Maps Platform udostępnia widżet autouzupełniania miejsc na platformy mobilne i w sieci. Widżet, który widzisz na poprzednich ilustracjach, zawiera okno wyszukiwania z wbudowaną funkcją autouzupełniania, którą możesz nawet zoptymalizować pod kątem wyszukiwania w określonej lokalizacji.
W tej sekcji opisujemy, jak wdrożyć autouzupełnianie miejsc w przypadku szybkiej i zweryfikowanej rejestracji.
Dodawanie widżetu autouzupełniania miejsc
Na Androidzie możesz dodać widżet autouzupełniania za pomocą intencji autouzupełniania, która uruchamia Autouzupełnianie miejsc z pola do wprowadzania danych Wiersz adresu 1, w którym użytkownik zacznie wpisywać swój adres. Gdy zacznie pisać, będzie mógł wybrać swój adres z listy podpowiedzi autouzupełniania.
Najpierw przygotuj narzędzie do uruchamiania aktywności za pomocą
ActivityResultLauncher,
które będzie nasłuchiwać wyniku
uruchomionej aktywności. Wywołanie zwrotne wyniku będzie zawierać obiekt Place odpowiadający adresowi wybranemu przez użytkownika z przewidywań autouzupełniania.
private final ActivityResultLauncher<Intent> startAutocomplete = registerForActivityResult( new ActivityResultContracts.StartActivityForResult(), result -> { if (result.getResultCode() == Activity.RESULT_OK) { Intent intent = result.getData(); if (intent != null) { Place place = Autocomplete.getPlaceFromIntent(intent); // Write a method to read the address components from the Place // and populate the form with the address components Log.d(TAG, "Place: " + place.getAddressComponents()); fillInAddress(place); } } else if (result.getResultCode() == Activity.RESULT_CANCELED) { // The user canceled the operation. Log.i(TAG, "User canceled autocomplete"); } });
Następnie zdefiniuj pola, lokalizację i właściwości typu intencji autouzupełniania miejsc
i utwórz ją za pomocą
Autocomplete.IntentBuilder.
Na koniec uruchom intencję za pomocą ActivityResultLauncher zdefiniowanego w poprzednim przykładzie kodu.
private void startAutocompleteIntent() { // Set the fields to specify which types of place data to // return after the user has made a selection. List<Place.Field> fields = Arrays.asList(Place.Field.ADDRESS_COMPONENTS, Place.Field.LOCATION, Place.Field.VIEWPORT); // Build the autocomplete intent with field, country, and type filters applied Intent intent = new Autocomplete.IntentBuilder(AutocompleteActivityMode.OVERLAY, fields) .setCountries(List.of("US")) // IMPORTANT: the widget uses the legacy api .setTypesFilter(List.of(PlaceTypes.ADDRESS)) .build(this); startAutocomplete.launch(intent); }
Obsługa adresu zwróconego przez autouzupełnianie miejsc
Zdefiniowanie wcześniej ActivityResultLauncher określa też, co należy zrobić, gdy wynik aktywności zostanie zwrócony w wywołaniu zwrotnym. Jeśli użytkownik wybrał przewidywanie, zostanie ono dostarczone w intencji zawartej w obiekcie wyniku. Ponieważ intencja została utworzona przez Autocomplete.IntentBuilder, metoda Autocomplete.getPlaceFromIntent() może wyodrębnić z niej obiekt Place.
private final ActivityResultLauncher<Intent> startAutocomplete = registerForActivityResult( new ActivityResultContracts.StartActivityForResult(), result -> { if (result.getResultCode() == Activity.RESULT_OK) { Intent intent = result.getData(); if (intent != null) { Place place = Autocomplete.getPlaceFromIntent(intent); // Write a method to read the address components from the Place // and populate the form with the address components Log.d(TAG, "Place: " + place.getAddressComponents()); fillInAddress(place); } } else if (result.getResultCode() == Activity.RESULT_CANCELED) { // The user canceled the operation. Log.i(TAG, "User canceled autocomplete"); } });
Następnie wywołaj Place.getAddressComponents() i dopasuj każdy komponent adresu do odpowiedniego pola do wprowadzania danych w formularzu adresu, wypełniając pole wartością z wybranego przez użytkownika miejsca.
Pobieranie danych adresowych z podpowiedzi zamiast z adresu wpisanego ręcznie pomaga zapewnić dokładność adresu, że adres jest znany i można go dostarczyć, oraz zmniejsza liczbę naciśnięć klawiszy przez użytkownika.
Uwagi dotyczące implementowania autouzupełniania miejsc
Autouzupełnianie miejsc ma wiele opcji, które pozwalają na elastyczną implementację, jeśli chcesz używać czegoś więcej niż tylko widżetu. Możesz użyć kombinacji usług, aby uzyskać dokładnie to, czego potrzebujesz do prawidłowego dopasowania lokalizacji.
W przypadku formularza ADRES ustaw parametr types na
address, aby ograniczyć dopasowania do pełnych adresów ulic. Więcej informacji o typach obsługiwanych w żądaniach autouzupełniania miejsc.Jeśli nie musisz wyszukiwać na całym świecie, ustaw odpowiednie ograniczenia i preferencje. Istnieje wiele parametrów, których można użyć, aby preferować lub ograniczyć dopasowanie tylko do określonych regionów.
Użyj
RectangularBounds, aby ustawić prostokątne granice ograniczające obszar, isetLocationRestriction(), aby mieć pewność, że zwracane są tylko adresy w tych obszarach.Użyj
setCountries(), aby ograniczyć odpowiedzi do określonego zestawu krajów.
Pozostaw pola edytowalne na wypadek, gdyby niektóre pola nie zostały dopasowane, i umożliwiaj klientom aktualizowanie adresu w razie potrzeby. Ponieważ większość adresów zwracanych przez autouzupełnianie miejsc nie zawiera numerów podlokali, takich jak numer mieszkania, lokalu lub jednostki, możesz przenieść fokus na wiersz adresu 2, aby zachęcić użytkownika do wypełnienia tych informacji w razie potrzeby.
Potwierdzanie adresu wizualnie
| Ten przykład korzysta z: Maps SDK na Androida | Dostępne też: iOS | JavaScript |
W ramach wprowadzania adresu zapewnij użytkownikom wizualne potwierdzenie adresu na mapie. Daje to użytkownikom dodatkową pewność, że adres jest prawidłowy.
Na ilustracji poniżej widać mapę pod adresem z pinezką w miejscu wpisanego adresu.

W przykładzie poniżej opisujemy podstawowe kroki dodawania mapy na Androidzie. Więcej szczegółów znajdziesz w dokumentacji.
- Dodawanie
SupportMapFragment(w tym przypadku dodawanie fragmentu dynamicznie) - Pobieranie uchwytu do fragmentu i rejestrowanie wywołania zwrotnego
- Stylizowanie i dodawanie znacznika do mapy
- Wyłączanie elementów sterujących mapą
Dodawanie SupportMapFragment
Najpierw dodaj fragment SupportMapFragment do
pliku XML układu.
<fragment
android:name="com.google.android.gms.maps.SupportMapFragment"
android:id="@+id/confirmation_map"
android:layout_width="match_parent"
android:layout_height="match_parent"/>Następnie programowo dodaj fragment, jeśli jeszcze nie istnieje.
private void showMap(Place place) {
coordinates = place.getLocation();
// It isn't possible to set a fragment's id programmatically so we set a tag instead and
// search for it using that.
mapFragment = (SupportMapFragment)
getSupportFragmentManager().findFragmentByTag(MAP_FRAGMENT_TAG);
// We only create a fragment if it doesn't already exist.
if (mapFragment == null) {
mapPanel = ((ViewStub) findViewById(R.id.stub_map)).inflate();
GoogleMapOptions mapOptions = new GoogleMapOptions();
mapOptions.mapToolbarEnabled(false);
// To programmatically add the map, we first create a SupportMapFragment.
mapFragment = SupportMapFragment.newInstance(mapOptions);
// Then we add it using a FragmentTransaction.
getSupportFragmentManager()
.beginTransaction()
.add(R.id.confirmation_map, mapFragment, MAP_FRAGMENT_TAG)
.commit();
mapFragment.getMapAsync(this);
} else {
updateMap(coordinates);
}
}Pobieranie uchwytu do fragmentu i rejestrowanie wywołania zwrotnego
Aby uzyskać uchwyt do fragmentu, wywołaj metodę
FragmentManager.findFragmentByIdi przekaż jej identyfikator zasobu fragmentu w pliku układu. Jeśli fragment został dodany dynamicznie, pomiń ten krok, ponieważ uchwyt został już pobrany.Aby ustawić wywołanie zwrotne w fragmencie, wywołaj metodę
getMapAsync.
Jeśli na przykład fragment został dodany statycznie:
Kotlin
val mapFragment = supportFragmentManager .findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync(this)
Java
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this);
Stylizowanie i dodawanie znacznika do mapy
Gdy mapa będzie gotowa, ustaw styl, wyśrodkuj kamerę i dodaj znacznik we współrzędnych wpisanego adresu. Poniższy kod używa stylów zdefiniowanych w obiekcie JSON. Możesz też wczytać identyfikator mapy zdefiniowany za pomocą stylów map opartych na chmurze.
@Override public void onMapReady(@NonNull GoogleMap googleMap) { map = googleMap; try { // Customise the styling of the base map using a JSON object defined // in a string resource. boolean success = map.setMapStyle( MapStyleOptions.loadRawResourceStyle(this, R.raw.style_json)); if (!success) { Log.e(TAG, "Style parsing failed."); } } catch (Resources.NotFoundException e) { Log.e(TAG, "Can't find style. Error: ", e); } map.moveCamera(CameraUpdateFactory.newLatLngZoom(coordinates, 15f)); marker = map.addMarker(new MarkerOptions().position(coordinates)); }
Wyłączanie elementów sterujących mapą
Aby mapa była przejrzysta i wyświetlała lokalizację bez dodatkowych elementów sterujących takich jak kompas czy pasek narzędzi, wyłącz niepotrzebne elementy sterujące. Na Androidzie możesz też włączyć wersję uproszczoną, aby zapewnić ograniczoną interaktywność.
Porównywanie adresu wpisanego przez użytkownika z lokalizacją urządzenia
Uzyskanie dokumentu potwierdzającego adres – pewności, że użytkownik znajduje się pod wpisanym adresem – może być skomplikowane z powodu takich czynników jak zdalna lokalizacja użytkownika, przeprowadzka użytkowników pod nowy adres czy firmy cyfrowe (np. banki cyfrowe), które nie mają fizycznej lokalizacji, w której użytkownicy mogą potwierdzić adres za pomocą rachunków za media lub innych dokumentów. Udostępnianie cyfrowych sposobów weryfikacji adresów użytkowników pozwala zapewnić szybszy i wygodniejszy proces rejestracji.
Bezpieczeństwo jest najważniejsze w przypadku sprawdzania adresu, zwłaszcza w przypadku cyfrowego procesu rejestracji. W tej sekcji znajdziesz wskazówki i przykłady dotyczące sprawdzania, czy lokalizacja użytkownika podczas rejestracji odpowiada adresowi, który wpisuje jako swój.
Proces porównywania wpisanego adresu z lokalizacją urządzenia obejmuje te kroki:
- Konwertowanie adresu wpisanego przez użytkownika na współrzędne geograficzne.
- Prośba o zgodę na uzyskanie lokalizacji urządzenia.
- Obliczanie odległości między wpisanym adresem a lokalizacją urządzenia. Możesz określić maksymalną odległość, która będzie się liczyć jako dopasowanie adresu do lokalizacji.
Na ilustracji poniżej pokazujemy, jak możesz poprosić użytkowników o porównanie wpisanego adresu z ich bieżącą lokalizacją.

Konwertowanie adresu wpisanego przez użytkownika na współrzędne geograficzne
| Ten przykład korzysta z: Places SDK na Androida | Dostępne też: iOS | JavaScript | Geocoding API |
Gdy użytkownicy wyrażą zgodę na weryfikację adresu (dotykając „Sprawdź, czy jestem teraz w tym miejscu” na ilustracji powyżej), pierwszym krokiem w porównywaniu adresu z bieżącą lokalizacją jest przekonwertowanie wpisanego adresu na współrzędne geograficzne.
Jeśli użytkownik wybrał swój adres za pomocą autouzupełniania miejsc, pamiętaj, aby poprosić o
Place.Field.LAT_LNG w liście pól autouzupełniania miejsc, jak pokazano w
przykładzie fragmentu kodu Dodawanie widżetu autouzupełniania miejsc, i wywołać metodę
Place.getLatLng()
, aby uzyskać współrzędne geograficzne wybranego adresu.
coordinates = place.getLatLng();
Jeśli użytkownik wpisał adres ręcznie lub wprowadził zmiany po wypełnieniu pól przez autouzupełnianie miejsc , użyj usługi Geocoder na Androidzie lub Geocoding API , aby wyszukać współrzędne odpowiadające temu adresowi.
Przykład
https://maps.googleapis.com/maps/api/geocode/json?address=1600%20Amphitheatre%2BParkway%2C%20Mountain%20View%2C%20CA%2094043&key=YOUR_API_KEY
Pamiętaj, aby zakodować adres URL wywołania Geocoding API.
Szybkie odniesienie do kodowania URL: %20 = spacja, %2B = + (plus), %2C = , (przecinek)
Prośba o zgodę na uzyskanie lokalizacji urządzenia
Aby uzyskać lokalizację urządzenia użytkownika, musisz poprosić go o zgodę na włączenie usług lokalizacyjnych. Postępuj zgodnie ze wskazówkami w dokumentacji Androida dotyczącymi tworzenia aplikacji korzystających z danych o lokalizacji, i zaimplementuj ten proces:
Poproś o uprawnienia dostępu do lokalizacji jako jednorazową zgodę na dokładny poziom (
ACCESS_FINE_LOCATION).Jeśli użytkownik przyzna dostęp do lokalizacji, uzyskaj jego lokalizację.
Jeśli użytkownik odrzuci dostęp do lokalizacji, obsłuż to odrzucenie w sposób nieinwazyjny. Możesz na przykład wyświetlić ten komunikat (zakładając, że nie przechowujesz bieżącej lokalizacji użytkownika):
„Jeśli nie pozwolisz aplikacji poznać swojej dokładnej lokalizacji, musisz potwierdzić ją pocztą, aby aktywować konto. [OK]”
Na ilustracji poniżej pokazujemy przykład prośby o zezwolenie na uzyskanie lokalizacji urządzenia.

Aby sprawdzić uprawnienia dostępu do lokalizacji, przygotuj narzędzie do uruchamiania aktywności, które będzie
nasłuchiwać wyniku
uruchomionej aktywności za pomocą
ActivityResultLauncher.
Wywołanie zwrotne wyniku będzie zawierać ciąg znaków wskazujący, czy użytkownik przyznał, czy odmówił przyznania żądanych uprawnień.
// Register the permissions callback, which handles the user's response to the // system permissions dialog. Save the return value, an instance of // ActivityResultLauncher, as an instance variable. private final ActivityResultLauncher<String> requestPermissionLauncher = registerForActivityResult(new ActivityResultContracts.RequestPermission(), isGranted -> { if (isGranted) { // Since ACCESS_FINE_LOCATION is the only permission in this sample, // run the location comparison task once permission is granted. // Otherwise, check which permission is granted. getAndCompareLocations(); } else { // Fallback behavior if user denies permission Log.d(TAG, "User denied permission"); } });
Następnie sprawdź, czy aplikacja ma już uprawnienia ACCESS_FINE_LOCATION.
Jeśli nie, poproś o nie użytkownika, uruchamiając aktywność prośby o uprawnienia za pomocą narzędzia do uruchamiania zdefiniowanego w poprzednim kroku.
private void checkLocationPermissions() { if (ContextCompat.checkSelfPermission(this, ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) { getAndCompareLocations(); } else { requestPermissionLauncher.launch( ACCESS_FINE_LOCATION); } }
Gdy uprawnienia ACCESS_FINE_LOCATION zostaną przyznane, użyj połączonego dostawcy lokalizacji, aby uzyskać ostatnią znaną lokalizację urządzenia, i utwórz z niej obiekt LatLng.
FusedLocationProviderClient fusedLocationClient =
LocationServices.getFusedLocationProviderClient(this);
fusedLocationClient.getLastLocation()
.addOnSuccessListener(this, location -> {
// Got last known location. In some rare situations this can be null.
if (location == null) {
return;
}
deviceLocation = new LatLng(location.getLatitude(), location.getLongitude());
// ...
});
}Obliczanie odległości między wpisanym adresem a lokalizacją urządzenia
Użyj matematyki, aby obliczyć odległość między 2 współrzędnymi geograficznymi (wpisanym adresem a lokalizacją urządzenia). Biblioteka narzędziowa Maps SDK na Androida typu open source zawiera przydatne metody obliczania odległości sferycznej między 2 punktami na Ziemi.
Najpierw zainstaluj bibliotekę narzędziową Maps SDK na Androida, dodając tę zależność do pliku build.gradle.kts aplikacji:
dependencies { // Utility Library for Maps SDK for Android // You do not need to add a separate dependency for the Maps SDK for Android // since this library builds in the compatible version of the Maps SDK. implementation(libs.android.maps.utils) }
Następnie, po uzyskaniu ostatniej znanej lokalizacji urządzenia, zdefiniuj promień w metrach, aby uznać 2 lokalizacje za „dopasowane”. Promień powinien być wystarczająco duży, aby uwzględnić zmienność dokładności GPS i rozmiar miejsca pod adresem wpisanym przez użytkownika. Na przykład:
private static final double acceptableProximity = 150;
Następnie użyj metody biblioteki narzędziowej computeDistanceBetween()
aby obliczyć odległość między lokalizacją urządzenia a lokalizacją wpisanego przez użytkownika
adresu. Jeśli odległość mieści się w zdefiniowanym powyżej promieniu, uznaj lokalizacje za dopasowane.
// Use the computeDistanceBetween function in the Maps SDK for Android Utility Library // to use spherical geometry to compute the distance between two Lat/Lng points. double distanceInMeters = computeDistanceBetween(deviceLocation, enteredLocation); if (distanceInMeters <= acceptedProximity) { Log.d(TAG, "location matched"); // TODO: Display UI based on the locations matching } else { Log.d(TAG, "location not matched"); // TODO: Display UI based on the locations not matching }
Jeśli adres i lokalizacja się zgadzają, wyświetl w aplikacji potwierdzenie, jak pokazano na ilustracji poniżej.

Wskazówki dotyczące dalszego ulepszania szybkiej i zweryfikowanej rejestracji
Umożliwiaj użytkownikom wpisywanie adresu na podstawie nazwy firmy lub punktu orientacyjnego. Usługa przewidywania „wpisywania w trakcie pisania” działa nie tylko w przypadku adresów, ale możesz też umożliwić użytkownikom wpisywanie nazw firm lub punktów orientacyjnych.
Aby umożliwić wpisywanie zarówno adresów, jak i nazw firm, usuń właściwość types z definicji autouzupełniania.
Dostosuj wygląd i sposób działania pola autouzupełniania miejsc do stylu swojej witryny. Jeśli wolisz kontrolować wygląd i sposób działania autouzupełniania miejsc w swojej aplikacji zamiast używać widżetu Google, możesz użyć autouzupełniania miejsc programowo aby obsługiwać interfejs użytkownika utworzony za pomocą usługi autouzupełniania miejsc.