Lokalizator produktów – przewodnik po implementacji

Opis

web iOS Interfejs API

Google Maps Platform jest dostępne w wersji internetowej (JS, TS) oraz na urządzeniach z Androidem i iOS. Udostępnia też interfejsy API usług internetowych do uzyskiwania informacji o miejscach, wskazówkach dojazdu i odległościach. Przykłady w tym przewodniku zostały utworzone dla jednej platformy, ale podajemy linki do dokumentacji, aby dowiedzieć się, jak wdrożyć tę funkcję na innych platformach.

Gdy użytkownicy widzą Twoje produkty online, chcą znaleźć najlepszy i najwygodniejszy sposób na otrzymanie zamówienia. Oferowane w tym temacie wskazówki dotyczące implementacji lokalizatora produktów są zalecanym rozwiązaniem, ponieważ pozwala ono użytkownikom korzystać z różnych interfejsów API Google Maps Platform.

Kierując się tym przewodnikiem po implementacji, możesz wyświetlać klientom szczegółowe informacje, których potrzebują, aby znaleźć Twoje produkty, oraz podawać wskazówki dojazdu do sklepu, w którym znajdą swoje produkty: samochodem, rowerem, pieszo lub transportem publicznym.

Schemat architektoniczny
Schemat architektoniczny (kliknij, aby powiększyć)

Włączam interfejsy API

Aby wdrożyć lokalizator produktów, musisz włączyć poniższe interfejsy API w konsoli Google Cloud. Te hiperlinki przenoszą Cię do konsoli Google Cloud, gdzie możesz włączyć poszczególne interfejsy API w wybranym projekcie:

Więcej informacji na temat konfiguracji znajdziesz w artykule Pierwsze kroki z Google Maps Platform.

Sekcje przewodnika po implementacji

Poniżej opisujemy implementacje i modyfikacje, które omówimy w tym temacie.

  • Głównym etapem wdrażania jest ikona potwierdzenia.
  • Ikona gwiazdki to opcjonalne, ale zalecane dostosowanie w celu ulepszenia rozwiązania.
Przypisywanie lokalizacji sklepów z miejscami w Google Maps Platform Dopasuj lokalizację sklepu do miejsca w Google Maps Platform.
Określenie lokalizacji użytkownika Dodaj funkcję pisania na bieżąco, aby poprawić wygodę użytkowników na wszystkich platformach i zwiększyć dokładność adresów przy minimalnej liczbie naciśnięć klawiszy.
Identyfikowanie najbliższych sklepów Oblicz długość trasy i czas podróży w przypadku wielu miejsc wylotu i miejsc docelowych, opcjonalnie określając różne formy transportu, takie jak dojście pieszo, samochodem, transportem publicznym lub rowerem.
Wyświetlanie informacji o sklepie Wyświetlaj w swoich sklepach szczegółowe informacje, aby użytkownicy mogli łatwiej do nich nawigować.
Dostarczanie wskazówek nawigacji Uzyskaj wskazówki dojazdu z miejsca do miejsca docelowego przy użyciu różnych środków transportu, takich jak pieszy, samochód, rower czy transport publiczny.
Wysyłanie trasy na urządzenie mobilne Oprócz wyświetlania wskazówek dojazdu na stronie internetowej możesz też wysyłać wskazówki dojazdu na telefon użytkownika, aby umożliwić im nawigację za pomocą Map Google, gdziekolwiek jesteś.
Pokazywanie lokalizacji na interaktywnej mapie Utwórz niestandardowe znaczniki mapy, dzięki którym lokalizacje będą się wyróżniać, i dostosuj mapę do kolorów Twojej marki. Możesz wyświetlać (lub ukrywać) określone ciekawe miejsca na mapie, aby ułatwić użytkownikom orientowanie się w terenie, oraz kontrolować zagęszczenie ciekawych miejsc na mapie.
Łączenie niestandardowych danych o lokalizacji ze szczegółami miejsca Połącz własne szczegóły lokalizacji z informacjami o miejscu, aby zapewnić użytkownikom bogaty zestaw danych ułatwiających podejmowanie decyzji.

Powiązanie lokalizacji sklepów z miejscami w Google Maps Platform

Uzyskiwanie identyfikatorów miejsc

W tym przykładzie zastosowano: interfejs Places API. Dostępny jest też: JavaScript

Być może masz bazę danych swoich sklepów zawierającą podstawowe informacje, takie jak nazwa lokalizacji, jej adres i numer telefonu, i chcesz powiązać ją z miejscem w Google Maps Platform, aby określić, gdzie użytkownicy będą mogli odebrać produkty. Aby pobrać informacje o tym miejscu dostępne na Google Maps Platform, w tym współrzędne geograficzne i informacje przekazywane przez użytkowników, znajdź identyfikator miejsca odpowiadający każdemu magazynowi w Twojej bazie danych. Możesz wywołać punkt końcowy usługi Find Place w wyszukiwarce miejsc interfejsu Places API i zażądać tylko pola place_id.

Poniższy przykład ilustruje, jak przesłać prośbę o identyfikator miejsca dla biura Google w Londynie:

    https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=google%20london&inputtype=textquery&fields=place_id&key=YOUR_API_KEY&solution_channel=GMP_guides_productlocator_v1_a

Możesz zapisać identyfikator miejsca w bazie danych razem z pozostałymi danymi sklepu i wykorzystać go jako skuteczny sposób na wysyłanie próśb o informacje o sklepie. Poniżej znajdziesz instrukcje korzystania z identyfikatora miejsca do geokodowania, pobierania szczegółów miejsca i uzyskiwania wskazówek dojazdu.

Geokodowanie lokalizacji

W tym przykładzie użyto: Geocoding API Dostępny jest też: JavaScript

Jeśli Twoja baza danych sklepów zawiera adresy, ale nie współrzędne geograficzne, skorzystaj z interfejsu Geocoding API, by uzyskać szerokość i długość geograficzną tego adresu oraz określić, które sklepy są najbliżej Twojego klienta. Możesz geokodować sklep po stronie serwera, zapisać szerokości i długości geograficzne w bazie danych oraz odświeżać je co najmniej co 30 dni.

Oto przykład użycia interfejsu Geocoding API w celu uzyskania szerokości i długości geograficznej identyfikatora miejsca, który został zwrócony dla biura Google w Londynie:

    https://maps.googleapis.com/maps/api/geocode/json?place_id=ChIJVSZzVR8FdkgRTyQkxxLQmVU&key=YOUR_API_KEY&solution_channel=GMP_guides_productlocator_v1_a

Określenie lokalizacji użytkownika

W tym przykładzie użyto: Biblioteki autouzupełniania miejsc w interfejsie Maps JavaScript API Dostępne też: Android | iOS

Kluczowym elementem lokalizatora produktów jest określenie lokalizacji początkowej użytkownika. Możesz zaoferować użytkownikom dwie opcje określania lokalizacji początkowej: wpisanie źródła wyszukiwania lub przyznanie uprawnień do geolokalizacji w przeglądarce lub usług lokalizacji dla komórek.

Obsługa wpisów wpisanego z wykorzystaniem autouzupełniania

Współcześni użytkownicy są przyzwyczajeni do funkcji autouzupełniania, która umożliwia wpisywanie z wyprzedzeniem w wersji Map Google dla użytkowników indywidualnych. Tę funkcję można zintegrować z dowolną aplikacją za pomocą bibliotek miejsc Google Maps Platform na urządzeniach mobilnych i w internecie. Gdy użytkownik wpisze adres, autouzupełnianie uzupełni pozostałe za pomocą widżetów. Możesz też udostępnić własną funkcję autouzupełniania za pomocą bibliotek Miejsc.

Funkcja autouzupełniania adresu
Funkcja autouzupełniania adresu (kliknij, aby powiększyć)

W poniższym przykładzie dodaj do witryny bibliotekę autouzupełniania miejsc, dodając parametr libraries=places do adresu URL skryptu interfejsu Maps JavaScript API.

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places&callback=initMap&solution_channel=GMP_guides_productlocator_v1_a" defer></script>

Następnie dodaj do strony pole tekstowe, w którym użytkownicy będą mogli:

<input id="autocomplete" placeholder="Enter
  starting address, city, or zip code" type="text"></input>

Na koniec musisz zainicjować usługę autouzupełniania i połączyć ją z nazwanym polem tekstowym. Ograniczenie pola Przewidywanie autouzupełniania miejsc dla typów kodów geograficznych powoduje, że pole do wprowadzania danych akceptuje adresy, dzielnice, miasta i kody pocztowe. Dzięki temu użytkownicy mogą wprowadzać dowolny poziom szczegółowości do opisania ich pochodzenia. Pamiętaj, aby zażądać pola geometry, aby odpowiedź zawierała szerokość i długość geograficzną miejsca pochodzenia użytkownika. Tych współrzędnych na mapie możesz użyć, by określić relację lokalizacji z punktem początkowym.

// Create the autocomplete object, restricting the search predictions to
// geographical location types.
const autocomplete = new google.maps.places.Autocomplete(
document.getElementById("autocomplete"),
{ types: ["geocode"],
  componentRestrictions: {'country': ['gb']},
  fields: ['place_id', 'geometry', 'formatted_address'] }
);
// When the user selects an address from the drop-down
// zoom to the select location and add a marker.
autocomplete.addListener("place_changed", searchFromOrigin);
}

W tym przykładzie, gdy użytkownik wybierze adres, rozpocznie się funkcja searchFromOrigin(). Bierze on pod uwagę geometrię dopasowanego wyniku, czyli lokalizację użytkownika, a potem wyszukuje najbliższe lokalizacje na podstawie tych współrzędnych jako punkt początkowy, co omówiono w sekcji Identyfikowanie najbliższych sklepów.

Wyświetlam opcje lokalizacji
Wyświetlam opcje lokalizacji (kliknij, aby powiększyć)

Rozwiń go, aby zobaczyć wskazówki wideo na temat dodawania autouzupełniania miejsc do aplikacji:

Strona

Aplikacje na Androida

Aplikacje na iOS

Korzystanie z geolokalizacji w przeglądarce

Jeśli chcesz wysyłać prośby o geolokalizację w przeglądarce HTML5 i ją obsługiwać, dowiedz się, jak włączyć okno Użyj mojej lokalizacji:

Uprawnienia przeglądarki dotyczące lokalizacji użytkownika
Prośba o uprawnienia do przeglądarki (kliknij, aby powiększyć)

Identyfikuję najbliższe sklepy

W tym przykładzie użyto: Usługa matrycy odległości, Maps JavaScript API Dostępny jest też: interfejs Distance Matrix API

Gdy poznasz lokalizację użytkownika, możesz porównać ją z lokalizacją Twoich sklepów. Korzystając z usługi matrycy odległości, Maps JavaScript API pomaga użytkownikom wybrać najdogodniejsze lokalizacje pod względem czasu jazdy lub odległości od drogi.

Standardowym sposobem porządkowania listy lokalizacji jest sortowanie ich według odległości. Odległość od użytkownika jest często obliczana prosto z prostej linii, ale może to być mylące. Linia prosta może przebiegać nad niestabilną rzeką lub ruchliwymi drogami w momentach, gdy inna lokalizacja może być wygodniejsza. Jest to ważne, gdy wiele lokalizacji oddalone jest od siebie o kilka kilometrów.

Usługa matrycy odległości – Maps JavaScript API – pobiera listę lokalizacji miejsca wylotu i celu podróży, a potem zwraca nie tylko odległość, ale też czas między nimi. W przypadku użytkownika punktem początkowym będzie miejsce, w którym się znajduje, lub pożądany punkt początkowy, a miejscami docelowymi są lokalizacje. Punkty początkowe i miejsca docelowe można określić jako pary współrzędnych lub adresy. Gdy wywołasz usługę, usługa będzie pasować do adresów. Możesz korzystać z usług matrycy odległości i Maps JavaScript API z dodatkowymi parametrami, aby wyświetlać wyniki na podstawie bieżących lub przyszłych czasów jazdy.

W tym przykładzie wywołujemy usługę macierzy odległości i Maps JavaScript API, określając jednocześnie źródło użytkownika i 25 lokalizacji magazynów.

function getDistances(place) {
  let distanceMatrixService = new google.maps.DistanceMatrixService();
  const origins = [place];
  return new Promise((resolve, reject) => {
    const callback = (response, status) => {
      if (status === google.maps.DistanceMatrixStatus.OK && response) {
        resolve(response);
      } else {
        reject(status);
      }
    };
    distanceMatrixService.getDistanceMatrix(
      {
        origins,
        destinations: stores.slice(0, 25).map((store) => store.location),
        travelMode: google.maps.TravelMode.DRIVING,
        unitSystem: google.maps.UnitSystem.IMPERIAL,
      },
      callback
    );
  });
}

function update(location) {
  if (!location) {
    return;
  }

  // ...

  // sort by spherical distance
  stores.sort((a, b) => {
    return (
      google.maps.geometry.spherical.computeDistanceBetween(
        new google.maps.LatLng(a.location),
        location
      ) -
      google.maps.geometry.spherical.computeDistanceBetween(
        new google.maps.LatLng(b.location),
        location
      )
    );
  });

  // display travel distance and time
  getDistances(location)
    .then((response) => {
      for (let i = 0; i < response.rows[0].elements.length; i++) {
        stores[i].address = response.destinationAddresses[i];
        stores[i].travelDistance = response.rows[0].elements[i].distance.value;
        stores[i].travelDistanceText =
          response.rows[0].elements[i].distance.text;
        stores[i].travelDuration = response.rows[0].elements[i].duration.value;
        stores[i].travelDurationText =
          response.rows[0].elements[i].duration.text;
      }
    })
    .finally(() => {
      renderCards(stores);
      autocompleteInput.disabled = false;
      isUpdateInProgress = false;
    });
}

W przypadku każdej lokalizacji w pobliżu możesz wyświetlić stan asortymentu produktu na podstawie bazy danych o asortymencie.

Wyświetlanie informacji o sklepie

W tym przykładzie użyto: Biblioteki miejsc, interfejsu Maps JavaScript API Dostępne też: Pakiet SDK Miejsc na Androida | Pakiet SDK Miejsc na iOS | Interfejs Places API

Możesz udostępniać szczegółowe informacje o miejscu, takie jak dane kontaktowe, godziny otwarcia i aktualny stan otwarcia, aby ułatwić klientom wybranie preferowanej lokalizacji i sfinalizowanie zamówienia.

Po wywołaniu interfejsu Maps JavaScript API w celu pobrania szczegółów miejsca możesz odfiltrować i wyrenderować odpowiedź.

Wyświetlam opcje sklepu
Wyświetlam opcje sklepu (kliknij, aby powiększyć)

Aby poprosić o szczegóły dotyczące miejsca, potrzebny będzie identyfikator każdej z Twoich lokalizacji. Informacje o tym, jak pobrać identyfikator miejsca swojej lokalizacji, znajdziesz w sekcji Uzyskiwanie identyfikatorów miejsc.

Poniższa prośba o szczegóły dotyczące miejsca zwraca adres, współrzędne, stronę internetową, numer telefonu, ocenę i godziny otwarcia dla identyfikatora miejsca Google London:

var request = {
  placeId: 'ChIJVSZzVR8FdkgRTyQkxxLQmVU',
  fields: ['name', 'formatted_phone_number', 'geometry', 'opening_hours', 'rating', 'utc_offset_minutes', 'website']
};

service = new google.maps.places.PlacesService(map); service.getDetails(request, callback);

function callback(place, status) { if (status == google.maps.places.PlacesServiceStatus.OK) { createMarker(place); } }


Ulepszony lokalizator produktów

W zależności od potrzeb Twojej firmy i potrzeb użytkowników możesz poprawić wygodę użytkowników.

Udzielanie wskazówek nawigacji

W tym przykładzie użyto: Usługa Maps JavaScript API Directions Service Dostępny jest też: usługa internetowa Directions API do użytku na urządzeniach z Androidem i iOS – bezpośrednio z aplikacji lub zdalnie przez serwer proxy serwera

Wyświetlanie wskazówek dojazdu z poziomu Twojej witryny lub aplikacji nie sprawi, że użytkownicy będą musieli opuszczać witryny, rozpraszając ich uwagę i sprawdzając na mapie konkurentów. Możesz nawet pokazać emisję dwutlenku węgla związaną z określonym środkiem transportu i wpływ konkretnej podróży, korzystając z zbioru danych o emisji dwutlenku węgla, którego jesteś właścicielem.

Usługa wyznaczania trasy zawiera również funkcje, które umożliwiają przetwarzanie wyników i ich łatwe wyświetlanie na mapie.

Poniżej przedstawiono przykład wyświetlania panelu wskazówek. Więcej informacji o przykładzie znajdziesz w sekcji Wyświetlanie wskazówek tekstowych.

Wysyłanie trasy na komórkę

Aby jeszcze bardziej ułatwić użytkownikom dotarcie do danej lokalizacji, możesz wysłać im link ze wskazówkami dojazdu lub e-mailem. Po jej kliknięciu na telefonie zostanie uruchomiona aplikacja Mapy Google lub strona maps.google.com wczyta się w przeglądarce urządzenia użytkownika. W obu przypadkach użytkownik może skorzystać ze szczegółowej nawigacji, w tym wskazówek głosowych, aby dotrzeć do celu.

Użyj adresów URL Map, aby utworzyć adres URL wskazówek dojazdu (jak poniżej) z nazwą miejsca zakodowaną w tym adresie URL jako parametrem destination, a identyfikatorem miejsca jako parametrem destination_place_id. Tworzenie i używanie adresów URL Map Google nie wiąże się z żadnymi opłatami, więc nie trzeba dodawać do nich klucza interfejsu API.

https://www.google.com/maps/dir/?api=1&destination=Google%20London&destination_place_id=ChIJVSZzVR8FdkgRTyQkxxLQmVU

Opcjonalnie możesz podać parametr zapytania origin, używając tego samego formatu adresu co w przypadku miejsca docelowego. Jeśli jednak go pominiesz, wskazówki dojazdu będą zaczynać się w innej lokalizacji niż ta, w której użytkownik korzystał z aplikacji Lokalizator produktów. Adresy URL Map zapewniają dodatkowe opcje parametrów zapytania, np. travelmode i dir_action=navigate, które uruchamiają się po włączeniu nawigacji.

Klikalny link, który rozszerza przykładowy adres URL powyżej, ustawia origin jako stadion piłkarski w Londynie i wykorzystuje travelmode=transit, by przekazać wskazówki dojazdu transportem publicznym do miejsca docelowego.

Aby wysłać SMS-a lub e-maila z tym adresem URL, zalecamy używanie aplikacji innej firmy, np. twilio. Jeśli używasz App Engine, możesz korzystać z usług innych firm do wysyłania SMS-ów lub e-maili. Więcej informacji znajdziesz w artykule Wysyłanie wiadomości przy użyciu usług innych firm.

Wyświetlanie lokalizacji na interaktywnej mapie

Korzystanie z map dynamicznych

W tym przykładzie użyto: Map JavaScript API Dostępne też: Android | iOS

Lokalizator to ważny element wrażeń użytkownika. W niektórych witrynach może brakować nawet prostej mapy, a użytkownicy muszą opuścić stronę lub aplikację, aby znaleźć bliższą lokalizację. Oznacza to nieoptymalne wrażenia użytkowników, którzy muszą przechodzić między stronami, aby uzyskać potrzebne informacje. Możesz jednak ulepszyć tę funkcję, umieszczając mapy i dostosowując je do aplikacji.

Dodanie do strony dynamicznej mapy – czyli takiej, którą użytkownicy mogą przesuwać, powiększać i pomniejszać, a także wyświetlać szczegóły różnych lokalizacji i ciekawych miejsc – można wykonać za pomocą kilku linijek kodu.

Najpierw musisz na stronie umieścić interfejs Maps JavaScript API. Można to zrobić, dodając link do poniższego skryptu na stronie HTML.

<script defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap&solution_channel=GMP_guides_productlocator_v1_a"></script>

Adres URL odwołuje się do funkcji initMap w języku JavaScript, która uruchamia się podczas wczytywania strony. W adresie URL możesz też określić język lub region mapy, aby sprawdzić, czy jest sformatowany w odpowiedni sposób dla kraju docelowego. Ustawienie regionu daje też pewność, że działanie aplikacji używanych poza Stanami Zjednoczonymi będzie zniekształcane w odniesieniu do wyznaczonego regionu. Pełną listę obsługiwanych języków i regionów znajdziesz na stronie ze szczegółami pokrycia Google Maps Platform oraz wykorzystaniu parametrów region.

Następnie potrzebny jest kod HTML div, aby umieścić mapę na stronie. To miejsce, w którym będzie wyświetlana mapa.

<div id="map"></div>

Następnym krokiem jest ustawienie podstawowych funkcji mapy. Należy to zrobić w funkcji skryptu initMap określonej w adresie URL skryptu. W tym skrypcie, pokazanym w poniższym przykładzie, możesz ustawić lokalizację początkową, typ mapy oraz określić, które elementy sterujące będą dostępne na mapie dla użytkowników. Zwróć uwagę, że właściwość getElementById() odwołuje się do powyższego identyfikatora div „mapa”.

function initMap() {
const map = new google.maps.Map(document.getElementById("map"), {
zoom: 12,
center: { lat: 51.485925, lng: -0.129500 },
zoomControl: false
});
}

W przypadku lokalizatora zazwyczaj chcesz ustawić lokalizację początkową, punkt środkowy lub granice i poziom powiększenia (jak mocno mapa jest w danej lokalizacji). Większość innych elementów, takich jak dostrajanie elementów sterujących, jest opcjonalna przy określaniu poziomu interakcji z mapą.

Dostosowywanie mapy

Wygląd i szczegóły mapy możesz zmieniać na wiele sposobów. Możesz na przykład:

  • Twórz własne znaczniki, które zastąpią domyślne pinezki na mapie.
  • Zmień kolory elementów mapy, aby odzwierciedlały Twoją markę.
  • Określ, które ciekawe miejsca (atrakcje, jedzenie, zakwaterowanie itp.) mają być wyświetlane i w jakiej gęstości, dzięki czemu możesz skupić się na lokalizacjach, a jednocześnie wyróżniać punkty orientacyjne, które pomagają użytkownikom dotrzeć do najbliższej lokalizacji.

Tworzenie niestandardowych znaczników mapy

Możesz dostosować znaczniki, zmieniając kolor domyślny (np. wskazując, czy dana lokalizacja jest obecnie otwarta) lub zastępując znacznik obrazem niestandardowym, np. z logo Twojej marki. Okna informacyjne, czyli wyskakujące okienka, mogą zawierać dodatkowe informacje, takie jak godziny otwarcia, numer telefonu, a nawet zdjęcia. Możesz też tworzyć znaczniki niestandardowe, w tym rastrowe, wektorowe, przeciągane, a nawet animowane.

Poniżej znajduje się przykładowa mapa ze znacznikami niestandardowymi. Kod źródłowy znajdziesz w temacie dotyczącym niestandardowych znaczników interfejsu Maps JavaScript API.

Szczegółowe informacje znajdziesz w dokumentacji znaczników w przypadku JavaScriptu (internet), Androida i iOS.

Wybieranie stylu mapy

Google Maps Platform umożliwia stylizowanie mapy w taki sposób, aby użytkownicy mogli łatwiej znaleźć najbliższą lokalizację, jak najszybciej do niej dotrzeć i wzmocnić wizerunek swojej marki. Możesz na przykład zmieniać kolory mapy, aby pasowały do Twojej marki, i ograniczać rozpraszanie uwagi na mapie, kontrolując widoczne dla użytkowników ciekawe miejsca. Google Maps Platform udostępnia też wiele szablonów początkowych map, z których część jest zoptymalizowanych pod kątem różnych branż, np. podróży, logistyki, nieruchomości i handlu detalicznego.

Style mapy możesz tworzyć i modyfikować na stronie Style mapy w swoim projekcie w konsoli Google Cloud.

Rozwiń, aby zobaczyć animacje tworzenia i określania stylu mapy w konsoli Cloud:

Style mapy branży

Ta animacja pokazuje wstępnie zdefiniowane style mapy typowe dla danej branży, których możesz użyć. Te style stanowią optymalny punkt wyjścia dla każdego typu branży. Na przykład styl mapy handlu detalicznego ogranicza ciekawe miejsca na mapie, dzięki czemu użytkownicy mogą skupić się na lokalizacjach oraz punktach orientacyjnych, które pomagają im dotrzeć do najbliższej lokalizacji tak szybko i bezpiecznie, jak to tylko możliwe.

Na stronie Styl mapy myszą klika opcję Utwórz nowy styl mapy. Na stronie Nowy styl mapy myszą kliknij przycisk opcji obok każdego z tych stylów zoptymalizowanych pod kątem branży: Podróże, Logistyka, Nieruchomości i Handel detaliczny. Po kliknięciu każdego przycisku zmienia się opis stylu mapy i podgląd graficzny.

Kontrola ciekawych miejsc

Ta animacja ustawia kolor znacznika ciekawych miejsc i zwiększa gęstość ciekawych miejsc na stylu mapy. Im większa gęstość, tym więcej znaczników ciekawych miejsc pojawia się na mapie.

Na stronie Styl mapy myszą klika opcję Utwórz nowy styl mapy. Na stronie Nowy styl mapy w sekcji Utwórz własny styl jest zaznaczona opcja Map Google. Myszka klika przycisk opcji Versa 3 dla stylu Versa 3,
              a następnie klika Otwórz w edytorze stylów. W Edytorze stylów klikamy myszą funkcję Ciekawe miejsca, a następnie element Ikona, ustawiając kolor na czerwony. Następnie mysz zaznacza pole wyboru Gęstość ciekawych miejsc i przesuwa element sterujący gęstości w prawo, aby uzyskać maksymalną gęstość. Wraz ze wzrostem gęstości pojawia się na podglądzie mapy coraz więcej czerwonych znaczników. Mysz przejdzie do przycisku Zapisz.

Każdy styl mapy ma własny identyfikator. Po opublikowaniu stylu w konsoli Cloud odwołujesz się do tego identyfikatora mapy w swoim kodzie, co oznacza, że możesz aktualizować styl mapy w czasie rzeczywistym bez refaktoryzacji aplikacji. Nowy wygląd automatycznie pojawi się w istniejącej aplikacji i będzie używany na różnych platformach. W przykładach poniżej pokazujemy, jak dodać identyfikator mapy do strony internetowej za pomocą interfejsu Maps JavaScript API.

Jeśli uwzględnisz co najmniej 1 element map_ids w adresie URL skryptu, interfejs Maps JavaScript API automatycznie udostępnia te style, aby przyspieszyć renderowanie map, gdy wywołasz te style w kodzie.

<script
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&map_ids=MAP_IDs&callback=initMap&solution_channel=GMP_guides_productlocator_v1_a">
</script>

Poniższy kod służy do wyświetlania na stronie internetowej mapy ze stylem. (Nie jest widoczny element HTML <div id="map"></div>, w którym mapa pojawi się na stronie).

map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 51.485925, lng: -0.129500},
zoom: 12,
mapId: '1234abcd5678efgh'
});

Dowiedz się więcej o wprowadzaniu stylu map w chmurze w JavaScript (w przeglądarce) oraz na Androidzie i iOS.

Łączenie niestandardowych danych o lokalizacji z informacjami o miejscu

W poprzedniej sekcji Wyświetlanie lokalizacji na interaktywnej mapie omówiliśmy za pomocą szczegółów miejsca, aby dostarczać użytkownikom wyczerpujących informacji o lokalizacjach, takich jak godziny otwarcia, zdjęcia i opinie.

Warto poznać koszty różnych pól danych w szczegółach miejsca. Są one podzielone na kategorie: Dane podstawowe, Dane kontaktowe i Atmosfera. Aby zarządzać kosztami, jedną ze strategii jest połączenie posiadanych przez Ciebie informacji o lokalizacjach z aktualnymi informacjami (zwykle podstawowymi i kontaktowymi) z Map Google, takimi jak tymczasowe zamknięcie firmy, godziny otwarcia w święto, oceny użytkowników, zdjęcia i opinie. Jeśli masz już dane kontaktowe swoich sklepów, nie musisz prosić o te pola w Szczegółach miejsca i możesz ograniczyć żądanie do pobierania tylko pól podstawowych lub danych atmosferycznych, w zależności od tego, co chcesz wyświetlać.

Mogą Państwo mieć własne dane o miejscach, które można uzupełnić lub wykorzystać zamiast szczegółów miejsc. Ćwiczenie z programowania dotyczące lokalizatora pełnego stosu pokazuje przykład użycia GeoJSON z bazą danych do przechowywania i pobierania szczegółów lokalizacji.