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