Rozpocznij

Wybierz platformę: Android iOS JavaScript

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

Włączanie nowego mechanizmu 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 Maps SDK na Androida w wersji 18.2.0 firma Google zmieniła domyślny mechanizm renderowania ze starszego mechanizmu renderowania na uaktualniony. Ta zmiana oznacza, że ulepszona wersja modułu renderowania map jest teraz domyślnie używana w aplikacji podczas tworzenia nowej aplikacji lub ponownego tworzenia istniejącej aplikacji.

.

Tworzenie identyfikatora mapy

Aby utworzyć nowy identyfikator mapy, wykonaj czynności opisane w sekcji 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.

Wybieranie warstw cech w nowym stylu mapy

W Konsoli interfejsu API Google możesz wybrać, które warstwy cech mają być wyświetlane w przypadku nowego stylu mapy. Warstwa cech określa, jakie rodzaje granic mają się wyświetlać na mapie (np. miejscowości, stany 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.

Zaktualizuj kod inicjowania mapy

Ten krok wymaga identyfikatora mapy, który właśnie został utworzony. Znajdziesz go na stronie Zarządzanie Mapami.

Informacje o tym, jak dodać identyfikator mapy do kodu inicjowania, znajdziesz w sekcji 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 funkcji getFeatureLayer(), aby określić typ warstwy funkcji. 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ć.

Gdy masz obiekt FeatureLayer, możesz zastosować styl do granicy w danej funkcji.

Sprawdzanie możliwości mapy (wymagane)

Stylizacja granic na podstawie danych wymaga identyfikatora mapy. Jeśli zabraknie identyfikatora mapy lub zostanie podany nieprawidłowy identyfikator mapy, styl oparty na danych dla granic nie zostanie wczytany. 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());