Nowy styl mapy będzie wkrótce dostępny w Google Maps Platform. Ta aktualizacja stylu mapy obejmuje nową domyślną paletę kolorów oraz ulepszenia ułatwiające obsługę i łatwość obsługi map. Wszystkie style mapy zostaną automatycznie zaktualizowane w marcu 2025 r. Więcej informacji o dostępności i sposobie włączania tej funkcji znajdziesz w artykule Nowy styl mapy w Google Maps Platform.
Na tej stronie znajdziesz krótki przewodnik na temat stylu mapy z użyciem trybu nocnego jako przykładu.
Omówienie
Opcje stylu pozwalają dostosować wygląd standardowych grafik Google
style mapy, zmieniające wygląd obiektów, takich jak drogi, parki,
firmy i inne ciekawe miejsca. Oznacza to, że możesz podkreślić,
określonych elementów mapy, lub sprawić,
że będzie ona współgrała ze stylem
.
Styl działa tylko w przypadku mapy typu kGMSTypeNormal.
Stosuję style do mapy
Aby zastosować niestandardowe style mapy do mapy, wywołaj GMSMapStyle(...) i utwórz
GMSMapStyle przez przekazanie adresu URL dla lokalnego pliku JSON lub kodu JSON
ciąg tekstowy zawierający definicje stylów. Przypisz instancję GMSMapStyle do
właściwość mapStyle mapy.
Za pomocą pliku JSON
Poniższe przykłady pokazują wywołanie metody GMSMapStyle(...) i przekazywanie adresu URL
plik lokalny:
Swift
importGoogleMapsclassMapStyling:UIViewController{// Set the status bar style to complement night-mode.overridevarpreferredStatusBarStyle:UIStatusBarStyle{return.lightContent}overridefuncloadView(){letcamera=GMSCameraPosition.camera(withLatitude:-33.86,longitude:151.20,zoom:14.0)letmapView=GMSMapView.map(withFrame:CGRect.zero,camera:camera)do{// Set the map style by passing the URL of the local file.ifletstyleURL=Bundle.main.url(forResource: "style",withExtension: "json"){mapView.mapStyle=tryGMSMapStyle(contentsOfFileURL:styleURL)}else{NSLog("Unabletofindstyle.json")}}catch{NSLog("Oneormoreofthemapstylesfailedtoload.\(error)")}self.view=mapView}}
Objective-C
#import "MapStyling.h"
@importGoogleMaps;@interfaceMapStyling()@end@implementationMapStyling// Set the status bar style to complement night-mode.-(UIStatusBarStyle)preferredStatusBarStyle{returnUIStatusBarStyleLightContent;}-(void)loadView{GMSCameraPosition*camera=[GMSCameraPositioncameraWithLatitude:-33.86longitude:151.20zoom:12];GMSMapView*mapView=[GMSMapViewmapWithFrame:CGRectZerocamera:camera];mapView.myLocationEnabled=YES;NSBundle*mainBundle=[NSBundlemainBundle];NSURL*styleUrl=[mainBundleURLForResource:@"style"withExtension:@"json"];NSError*error;// Set the map style by passing the URL for style.json.GMSMapStyle*style=[GMSMapStylestyleWithContentsOfFileURL:styleUrlerror:&error];if(!style){NSLog(@"Thestyledefinitioncouldnotbeloaded:%@",error);}mapView.mapStyle=style;self.view=mapView;}@end
Aby określić opcje stylu, dodaj do projektu nowy plik o nazwie style.json.
i wklej tę deklarację stylu JSON dla stylu trybu nocnego:
Poniższe przykłady pokazują wywoływanie funkcji GMSMapStyle(...) i przekazywanie ciągu znaków
zasób:
Swift
classMapStylingStringResource:UIViewController{letMapStyle= "JSON_STYLE_GOES_HERE"
// Set the status bar style to complement night-mode.overridevarpreferredStatusBarStyle:UIStatusBarStyle{return.lightContent}overridefuncloadView(){letcamera=GMSCameraPosition.camera(withLatitude:-33.86,longitude:151.20,zoom:14.0)letmapView=GMSMapView.map(withFrame:CGRect.zero,camera:camera)do{// Set the map style by passing a valid JSON string.mapView.mapStyle=tryGMSMapStyle(jsonString:MapStyle)}catch{NSLog("Oneormoreofthemapstylesfailedtoload.\(error)")}self.view=mapView}}
Objective-C
@implementationMapStylingStringResource// Paste the JSON string to use.staticNSString*constkMapStyle=@"JSON_STYLE_GOES_HERE";// Set the status bar style to complement night-mode.-(UIStatusBarStyle)preferredStatusBarStyle{returnUIStatusBarStyleLightContent;}-(void)loadView{GMSCameraPosition*camera=[GMSCameraPositioncameraWithLatitude:-33.86longitude:151.20zoom:12];GMSMapView*mapView=[GMSMapViewmapWithFrame:CGRectZerocamera:camera];mapView.myLocationEnabled=YES;NSError*error;// Set the map style by passing a valid JSON string.GMSMapStyle*style=[GMSMapStylestyleWithJSONString:kMapStyleerror:&error];if(!style){NSLog(@"Thestyledefinitioncouldnotbeloaded:%@",error);}mapView.mapStyle=style;self.view=mapView;}@end
Aby zdefiniować opcje stylu, wklej następujący ciąg stylu jako wartość
zmienną kMapStyle:
W mapach stylizowanych kolory i inne zmiany stylu są stosowane do dwóch koncepcji.
mapa:
Selektory określają komponenty geograficzne, które możesz
stylu na mapie. Są to drogi, parki, zbiorniki wodne,
i ich etykiety. Selektory zawierają funkcje.
i elementów w postaci featureType,
elementType usług.
Style to właściwości kolorów i widoczności, których możesz użyć
mają zastosowanie do elementów mapy. Definiują one wyświetlany kolor za pomocą
kombinacji barw, kolorów i jasności/gamma.
Szczegółowy opis tych atrybutów znajdziesz w dokumentacji stylu
Opcje stylu JSON.
Aby szybko skorzystać z kreatora stylu Maps Platform,
aby wygenerować obiekt stylu JSON. Pakiet Maps SDK na iOS obsługuje
tych samych deklaracji stylu co w Maps JavaScript API.