این صفحه راهنمای سریعی برای سبکبندی نقشهتان است که از حالت شب بهعنوان نمونه استفاده میکند.
نمای کلی
با گزینههای سبک میتوانید ارائه سبکهای استاندارد Google Map را سفارشیسازی کنید و نمایش بصری ویژگیهایی مانند جادهها، پارکها، کسبوکارها، و دیگر مکانهای جالب را تغییر دهید. این یعنی میتوانید بر مؤلفههای خاصی از نقشه تأکید کنید یا نقشه را مکمل سبک برنامهتان کنید.
سبکبندی فقط روی نوع نقشه kGMSTypeNormal کار میکند.
اعمال سبکها بر نقشه
برای اعمال سبکهای نقشه سفارشی به نقشه، GMSMapStyle(...) را فراخوانی کنید تا
نمونه GMSMapStyle ایجاد شود، نشانی وب فایل JSON محلی یا رشته JSON
حاوی تعاریف سبک را ارسال کنید. نمونه GMSMapStyle را به
خصوصیت mapStyle نقشه اختصاص دهید.
استفاده از فایل JSON
مثالهای زیر فراخوانی GMSMapStyle(...) و ارسال نشانی وب برای فایل محلی را نشان میدهد:
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)letoptions=GMSMapViewOptions()options.camera=cameraletmapView=GMSMapView(options:options)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("Unable to find style.json")}}catch{NSLog("One or more of the map styles failed to load. \(error)")}self.view=mapView}}
آبجکتیو-سی
#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];GMSMapViewOptions*options=[[GMSMapViewOptionsalloc]init];options.camera=camera;GMSMapView*mapView=[[GMSMapViewalloc]initWithOptions:options];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(@"The style definition could not be loaded: %@",error);}mapView.mapStyle=style;self.view=mapView;}@end
برای تعریف گزینههای سبک، فایل جدیدی با نام style.json به پروژهتان اضافه کنید،
و برای سبک حالت شب، اعلان سبک JSON زیر را جایگذاری کنید:
مثالهای زیر فراخوانی GMSMapStyle(...) و ارسال منبع رشته را نشان میدهد:
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)letoptions=GMSMapViewOptions()options.camera=cameraletmapView=GMSMapView(options:options)do{// Set the map style by passing a valid JSON string.mapView.mapStyle=tryGMSMapStyle(jsonString:MapStyle)}catch{NSLog("One or more of the map styles failed to load. \(error)")}self.view=mapView}}
آبجکتیو-سی
@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];GMSMapViewOptions*options=[[GMSMapViewOptionsalloc]init];options.camera=camera;GMSMapView*mapView=[[GMSMapViewalloc]initWithOptions:options];mapView.myLocationEnabled=YES;NSError*error;// Set the map style by passing a valid JSON string.GMSMapStyle*style=[GMSMapStylestyleWithJSONString:kMapStyleerror:&error];if(!style){NSLog(@"The style definition could not be loaded: %@",error);}mapView.mapStyle=style;self.view=mapView;}@end
برای تعریف گزینههای سبک، رشته سبک زیر را بهعنوان مقدار
متغیر kMapStyle جایگذاری کنید:
نقشههای قابلطراحی از دو مفهوم برای اعمال رنگها و سایر تغییرات سبک در نقشه استفاده میکنند:
انتخابگرها مؤلفههای جغرافیایی را که میتوانید در نقشه سبکبندی کنید مشخص میکنند. این عناصر شامل جادهها، پارکها، پهنههای آبی، و
غیره، و همچنین برچسبهای آنها میشود. انتخابکنندهها شامل ویژگیها
و عناصر هستند که بهعنوان ویژگیهای featureType و
elementType مشخص شدهاند.
سبکدهندهها ویژگیهای رنگ و نمایانی هستند که میتوانید
به عناصر نقشه اعمال کنید. آنها رنگ نمایشدادهشده را ازطریق ترکیبی از رنگمایه، رنگ، و مقادیر روشنایی و گاما تعریف میکنند.
برای شرح مفصل گزینههای سبکبندی JSON، به مرجع سبک مراجعه کنید.
از
دستیار سبکبندی پلاتفرم Maps
بهعنوان روشی سریع برای تولید شیء سبکبندی JSON استفاده کنید. کیت توسعه نرمافزار Google Maps برای iOS
از همان اعلانهای سبک Maps JavaScript API پشتیبانی میکند.
نمونههای کد کامل
مخزن ApiDemos
در GitHub شامل نمونههایی است که استفاده از سبکبندی را نشان میدهد.
تاریخ آخرین بهروزرسانی 2026-10-16 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2026-10-16 بهوقت ساعت هماهنگ جهانی."],[],["To customize map appearance, apply styles to the `kGMSTypeNormal` map type. Utilize `GMSMapStyle` by passing a URL for a local JSON file or a JSON string to the `mapStyle` property. Define styles with selectors (features and elements) and stylers (color, visibility). Create a `style.json` file for night-mode styling with the provided JSON or use a JSON string directly. Consider cloud customization for uniform styling across multiple apps. The Maps Platform Styling Wizard can help generate JSON style objects. Avoid mixing cloud and hardcoded styles.\n"]]