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 Maps SDK na Androida. Ten mechanizm renderowania wprowadza wiele ulepszeń, w tym: obsługę określania stylów map w Google Cloud w pakiecie Maps SDK na Androida.
Po opublikowaniu pakietu SDK Maps na Androida w wersji 18.2.0 firma Google ze starszego mechanizmu renderowania do uaktualnionego mechanizmu renderowania mapy. Ten oznacza, że uaktualniony mechanizm renderowania mapy będzie teraz domyślnie używany w aplikacji podczas tworzenia nowej aplikacji lub odtwarzania istniejącej.
Utwórz identyfikator mapy
Aby utworzyć nowy identyfikator mapy, wykonaj czynności opisane na Utwórz identyfikator mapy. Upewnij się, że ustaw typ mapy na Android.
Tworzenie nowego stylu mapy
Aby utworzyć nowy styl mapy, postępuj zgodnie z instrukcjami w artykule Zarządzanie stylami mapy. aby utworzyć styl, a następnie 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 nowego stylu mapy. Warstwa cech określa rodzaje granic zostaną wyświetlone na mapie (np. miejscowości, województwa itp.).
- W konsoli interfejsów API Google otwórz stronę Style mapy.
- Jeśli pojawi się taka prośba, wybierz projekt.
- Wybierz styl mapy.
- Aby dodać lub usunąć warstwy, kliknij menu Warstwy cech.
- Kliknij Zapisz, aby zapisać zmiany i udostępnić je na mapach.
Zaktualizuj kod inicjowania mapy
Ten krok wymaga identyfikatora mapy, który właśnie został utworzony. Znajdziesz ją na Strona 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 cech, 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()) ... }
Zdaj FeatureLayerOptions
do getFeatureLayer()
, aby określić typ warstwy cech. W tym
chcesz uzyskać dostęp do warstwy POSTAL_CODE
. Utwórz inny
FeatureLayer
obiekt na każdą warstwę, której styl chcesz określić.
Gdy masz już obiekt FeatureLayer
, możesz zastosować styl do
wielokątów granicy w tym obiekcie.
Sprawdź 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. Jako
procedury rozwiązywania problemów, możesz użyć
MapCapabilities
aby sprawdzić, czy obsługiwany jest styl oparty na danych w przypadku granic.
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());