سبک نقشه پایه جدید به زودی به پلتفرم نقشه های گوگل می آید. این بهروزرسانی برای استایل نقشه شامل یک پالت رنگی پیشفرض جدید، پینهای مدرن شده و بهبودهایی در تجربهها و قابلیت استفاده از نقشه است. همه سبکهای نقشه بهطور خودکار در مارس 2025 بهروزرسانی میشوند. برای اطلاعات بیشتر در مورد در دسترس بودن و نحوه انتخاب زودتر، به سبک نقشه جدید برای پلتفرم Google Maps مراجعه کنید.
این صفحه یک راهنمای سریع برای طراحی نقشه شما با استفاده از حالت شب به عنوان مثال است.
نمای کلی
با گزینههای سبک میتوانید نمایش سبکهای استاندارد نقشه Google را سفارشی کنید، نمایش بصری ویژگیهایی مانند جادهها، پارکها، مشاغل و سایر نقاط مورد علاقه را تغییر دهید. این بدان معنی است که می توانید بر اجزای خاصی از نقشه تأکید کنید یا نقشه را مکمل سبک برنامه خود کنید.
یک ظاهر طراحی شده فقط در نوع نقشه kGMSTypeNormal کار می کند.
اعمال سبک ها در نقشه شما
برای اعمال سبکهای نقشه سفارشی روی نقشه، با GMSMapStyle(...) تماس بگیرید تا یک نمونه GMSMapStyle ایجاد کنید، یک URL برای یک فایل JSON محلی یا یک رشته JSON حاوی تعاریف سبک ارسال کنید. نمونه GMSMapStyle را به ویژگی mapStyle نقشه اختصاص دهید.
استفاده از فایل JSON
مثال های زیر فراخوانی GMSMapStyle(...) و ارسال URL برای یک فایل محلی را نشان می دهد:
سویفت
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("Unable to find style.json")}}catch{NSLog("One or more of the map styles failed to load. \(error)")}self.view=mapView}}
هدف-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(@"The style definition could not be loaded: %@",error);}mapView.mapStyle=style;self.view=mapView;}@end
برای تعریف گزینههای سبک، یک فایل جدید با نام style.json به پروژه خود اضافه کنید و عبارت سبک JSON زیر را برای استایلسازی در حالت شب جایگذاری کنید:
مثالهای زیر فراخوانی GMSMapStyle(...) و ارسال یک منبع رشته را نشان میدهند:
سویفت
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("One or more of the map styles failed to load. \(error)")}self.view=mapView}}
هدف-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(@"The style definition could not be loaded: %@",error);}mapView.mapStyle=style;self.view=mapView;}@end
برای تعریف گزینه های سبک، رشته سبک زیر را به عنوان مقدار متغیر kMapStyle قرار دهید:
نقشه های سبک از دو مفهوم برای اعمال رنگ ها و سایر تغییرات سبک در نقشه استفاده می کنند:
انتخابگرها اجزای جغرافیایی را مشخص میکنند که میتوانید روی نقشه استایل دهید. اینها شامل جاده ها، پارک ها، منابع آبی و موارد دیگر و همچنین برچسب های آنها می شود. انتخابگرها شامل ویژگیها و عناصر هستند که به عنوان ویژگیهای featureType و elementType مشخص میشوند.
استایلرها ویژگیهای رنگ و دید هستند که میتوانید روی عناصر نقشه اعمال کنید. آنها رنگ نمایش داده شده را از طریق ترکیبی از مقادیر رنگ، رنگ و روشنایی/گاما تعریف می کنند.
برای توضیحات مفصل گزینه های سبک JSON به مرجع سبک مراجعه کنید.
از Maps Platform Styling Wizard به عنوان یک راه سریع برای تولید یک شی استایل JSON استفاده کنید. Maps SDK برای iOS از اعلانهای سبک مشابه با Maps JavaScript API پشتیبانی میکند.
نمونه کد کامل
مخزن ApiDemos در GitHub شامل نمونه هایی است که استفاده از استایل را نشان می دهد.
تاریخ آخرین بهروزرسانی 2025-03-13 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-03-13 بهوقت ساعت هماهنگ جهانی."],[[["This guide provides instructions for styling Google Maps using JSON to customize the appearance of map elements."],["You can style your map using a local JSON file or a JSON string, applying it to the `mapStyle` property of the map."],["JSON style declarations consist of selectors (`featureType`, `elementType`) to target map components and stylers to define their visual properties."],["Leverage the Maps Platform Styling Wizard to easily create custom JSON styles and apply them to your maps."],["Styling is applicable only to the `kGMSTypeNormal` map type and offers flexibility in highlighting or blending map features with your application's design."]]],["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"]]