Aby skonfigurować stylizację granic na podstawie danych, wykonaj te czynności.
Włącz nowy mechanizm renderowania map
Uaktualniony mechanizm renderowania map jest dostępny od wersji 18.0.0 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.
.Utwórz identyfikator 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 artykule Zarządzanie stylami mapy. aby utworzyć styl, i powiąż go 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 będą widoczne nowy styl mapy. Warstwa cech określa rodzaje granic zostaną wyświetlone na mapie (na przykład miejscowości, województwa itp.).
- W konsoli interfejsów API Google otwórz stronę Style 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 inicjowania, zapoznaj się z artykułem Dodaj identyfikator mapy do aplikacji.
Dostęp do warstwy cech mapy
Używasz FeatureLayer
obiekt reprezentujący każdą warstwę cech mapy, np. kod pocztowy lub
Warstwa cech lokalizacji. 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
chcesz uzyskać dostęp do warstwy POSTAL_CODE
. Utwórz inny obiekt FeatureLayer
dla każdego poziomu, który chcesz sformatować.
Gdy masz już obiekt FeatureLayer
, możesz zastosować styl do
wielokątów granicy w tym obiekcie.
Sprawdzanie możliwości mapy (wymagane)
Styl oparty na danych w przypadku granic wymaga identyfikatora mapy. Jeśli brakuje identyfikatora mapy lub
przekazano nieprawidłowy identyfikator mapy, styl oparty na danych dla granic nie może zostać wczytany. 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());