Rozpocznij

Wybierz platformę: Android iOS JavaScript

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

Włącz nowy mechanizm renderowania map

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

Wraz z wersją 18.2.0 pakietu Maps SDK na Androida zmieniliśmy domyślny mechanizm renderowania ze starszego na ulepszony. Ta zmiana oznacza, że ulepszony mechanizm renderowania map jest teraz domyślnie używany w Twojej aplikacji, gdy tworzysz nową lub przerabiasz istniejącą aplikację.

Utwórz identyfikator mapy

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

Tworzenie nowego stylu mapy

Aby utworzyć nowy styl mapy, postępuj zgodnie z instrukcjami w sekcji Zarządzanie stylami mapy . Utwórz styl i powiąż go z utworzonym identyfikatorem mapy.

Wybierz warstwy cech w nowym stylu mapy

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

  1. W konsoli interfejsów API Google otwórz stronę Style mapy.
  2. Jeśli pojawi się prośba, 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 przedstawiający menu.

Zaktualizuj kod inicjujący mapę

Ten krok wymaga utworzonego identyfikatora mapy. Znajdziesz go na stronie Zarządzanie mapami.

Aby dodać identyfikator mapy do kodu inicjującego, przeczytaj sekcję Dodawanie identyfikatora mapy do aplikacji.

Uzyskaj dostęp do warstwy mapy

Do reprezentowania każdej warstwy mapy, np. warstwy mapy kodów pocztowych lub miejscowości, używasz FeatureLayer obiektu. Aby uzyskać dostęp do obiektu warstwy mapy, wywołaj GoogleMap.getFeatureLayer() po zainicjowaniu mapy:

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()) ... }

Aby określić typ warstwy mapy, przekaż obiekt FeatureLayerOptions do getFeatureLayer(). W tym przykładzie chcesz uzyskać dostęp do warstwy POSTAL_CODE. Utwórz inny obiekt FeatureLayer dla każdej warstwy, której styl chcesz zdefiniować.

Gdy masz już obiekt FeatureLayer, możesz zastosować styl do wielokątów granic w tej funkcji.

użyj FeatureLayer.isAvailable() metody.

Sprawdź możliwości mapy (wymagane)

Styl oparty na danych w przypadku granic wymaga identyfikatora mapy. Jeśli brakuje identyfikatora mapy lub zostanie przekazany nieprawidłowy identyfikator mapy, styl oparty na danych w przypadku granic nie będzie się wczytywać. Aby rozwiązać ten problem, możesz użyć MapCapabilities aby sprawdzić, czy styl oparty na danych w przypadku 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());