Aby skonfigurować stylizację granic na podstawie danych, 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, do pakietu 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 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, postępuj zgodnie z instrukcjami w sekcji Zarządzanie stylami map, a potem połącz styl z identyfikatorem mapy, który właśnie utworzyłeś/utworzyłaś.
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.).
- W konsoli interfejsów API Google otwórz stronę Styl mapy.
- Jeśli pojawi się monit, wybierz projekt.
- Wybierz styl mapy.
- Aby dodać lub usunąć warstwy, kliknij menu Warstwy funkcji.
- Aby zapisać zmiany i uzyskać do nich dostęp na mapach, kliknij Zapisz.
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 funkcji getFeatureLayer()
, aby określić typ warstwy funkcji. W tym przykładzie chcesz uzyskać dostęp do warstwy POSTAL_CODE
. Utwórz inne obiekty FeatureLayer
dla każdego z warstw, które 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 identyfikator mapy jest nieprawidłowy lub nie ma go w ogóle, stylizacja oparta na danych nie może się wczytać. W ramach rozwiązywania problemów możesz użyć MapCapabilities
, aby sprawdzić, czy stylizacja danych dla granic jest obsługiwana.
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());