Rozpocznij

Wybierz platformę: Android iOS JavaScript

Aby skonfigurować styl oparty na danych na potrzeby granic, wykonaj te czynności.

Włącz nowy mechanizm renderowania map

Uaktualniony mechanizm renderowania map jest dostępny od wersji 18.0.0 pakietu Maps SDK na Androida. Ten procesor wprowadza wiele ulepszeń, w tym obsługę definiowania stylów map w Google Cloud, w pakiecie Maps SDK na Androida.

Wraz z wydaniem pakietu SDK Map Google na Androida w wersji 18.2.0 firma Google zmieniła domyślny mechanizm renderowania z używającego starszego mechanizmu na ulepszony mechanizm renderowania map. Ta zmiana oznacza, że ulepszony mechanizm renderowania mapy będzie teraz domyślnie używany w Twojej aplikacji podczas tworzenia nowej aplikacji lub odbudowy istniejącej aplikacji.

.

Utwórz identyfikator mapy

Aby utworzyć nowy identyfikator mapy, wykonaj czynności opisane w artykule Tworzenie identyfikatora mapy. Upewnij się, że typ mapy to Android.

Tworzenie nowego stylu mapy

Aby utworzyć nowy styl mapy, wykonaj instrukcje opisane w artykule Zarządzanie stylami mapy i powiąż ten styl z utworzonym właśnie identyfikatorem mapy.

Wybierz warstwy cech w nowym stylu mapy

W konsoli interfejsów API Google możesz wybrać warstwy cech, które mają być wyświetlane dla nowego stylu mapy. Warstwa cech określa, jakie rodzaje granic pojawiają się na mapie (np. miejscowości, województwa itp.).

  1. W konsoli interfejsów API Google otwórz stronę Styl mapy.
  2. Jeśli pojawi się monit, wybierz projekt.
  3. Wybierz styl mapy.
  4. Aby dodać lub usunąć warstwy, kliknij menu Warstwy cech.
  5. Kliknij Zapisz, aby zapisać zmiany i udostępnić je na mapach.

Zrzut ekranu pokazujący menu.

Aktualizowanie kodu inicjalizacji mapy

Ten krok wymaga podania utworzonego przez Ciebie identyfikatora mapy. Znajdziesz go na stronie Zarządzanie Mapami.

Aby dodać identyfikator mapy do kodu inicjalizacji, zapoznaj się z artykułem Dodawanie identyfikatora mapy do aplikacji.

Uzyskiwanie dostępu do warstwy obiektów na mapie

Obiekt FeatureLayer reprezentuje każdą warstwę cech mapy, np. kod pocztowy lub warstwę cech Miejscowość. Aby uzyskać dostęp do obiektu warstwy funkcji, wywołaj funkcję GoogleMap.getFeatureLayer(), gdy mapa jest inicjowana:

Java

private FeatureLayer postalCodeLayer;
@Override public void onMapReady(GoogleMap map) { // Get the POSTAL_CODE feature layer. postalCodeLayer = map.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()); ... }

Kotlin

private var postalCodeLayer: FeatureLayer? = null
override fun onMapReady(googleMap: GoogleMap) { // Get the POSTAL_CODE feature layer. postalCodeLayer = googleMap.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()) ... }

Przekaż obiekt FeatureLayerOptions do getFeatureLayer(), aby określić typ warstwy cech. W tym przykładzie chcesz uzyskać dostęp do warstwy POSTAL_CODE. Utwórz inny obiekt FeatureLayer dla każdego poziomu, który chcesz sformatować.

Po uzyskaniu obiektu FeatureLayer możesz zastosować styl do wielokątów granicy w tym obiekcie.

Sprawdź możliwości mapy (wymagane)

Stylizacja granic na podstawie danych wymaga identyfikatora mapy. Jeśli identyfikator mapy jest nieprawidłowy lub nie ma go w ogóle, styl oparty na danych nie może się wczytać. Aby rozwiązać problem, możesz użyć narzędzia MapCapabilities, aby sprawdzić, czy styl oparty na danych granic jest obsługiwany.

Kotlin

val capabilities: MapCapabilities = googleMap.getMapCapabilities()
System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable())

Java

MapCapabilities capabilities = googleMap.getMapCapabilities();
System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable());