سبک نقشه پایه جدید به زودی به پلتفرم نقشه های گوگل می آید. این بهروزرسانی برای استایل نقشه شامل یک پالت رنگی پیشفرض جدید، پینهای مدرن شده و بهبودهایی در تجربهها و قابلیت استفاده از نقشه است. همه سبکهای نقشه بهطور خودکار در مارس 2025 بهروزرسانی میشوند. برای اطلاعات بیشتر در مورد در دسترس بودن و نحوه انتخاب زودتر، به سبک نقشه جدید برای پلتفرم Google Maps مراجعه کنید.
علاوه بر تغییر سبک ویژگیهای روی نقشه، میتوانید آنها را به طور کامل پنهان کنید. این مثال به شما نشان می دهد که چگونه نقاط مورد علاقه تجاری (POI) و نمادهای حمل و نقل عمومی را روی نقشه خود پنهان کنید.
یک ظاهر طراحی شده فقط در نوع نقشه kGMSTypeNormal کار می کند.
اعمال سبک ها در نقشه شما
برای اعمال سبکهای نقشه سفارشی روی نقشه، با GMSMapStyle(...) تماس بگیرید تا یک نمونه GMSMapStyle ایجاد کنید، یک URL برای یک فایل JSON محلی یا یک رشته JSON حاوی تعاریف سبک ارسال کنید. نمونه GMSMapStyle را به ویژگی mapStyle نقشه اختصاص دهید.
استفاده از فایل JSON
مثال های زیر فراخوانی GMSMapStyle(...) و ارسال URL برای یک فایل محلی را نشان می دهد:
نمونه کد زیر فرض می کند که پروژه شما حاوی فایلی به نام style.json است:
سویفت
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 زیر را برای پنهان کردن نقاط مورد علاقه تجاری (POI) و نمادهای حملونقل عمومی جایگذاری کنید:
مثالهای زیر فراخوانی 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
اعلان سبک زیر نقاط مورد علاقه تجاری (POI) و نمادهای حمل و نقل عمومی را پنهان می کند. رشته سبک زیر را به عنوان مقدار متغیر kMapStyle قرار دهید:
نقشه های سبک از دو مفهوم برای اعمال رنگ ها و سایر تغییرات سبک در نقشه استفاده می کنند:
انتخابگرها اجزای جغرافیایی را مشخص میکنند که میتوانید روی نقشه استایل دهید. اینها شامل جاده ها، پارک ها، منابع آبی و موارد دیگر و همچنین برچسب های آنها می شود. انتخابگرها شامل ویژگیها و عناصر هستند که به عنوان ویژگیهای featureType و elementType مشخص میشوند.
استایلرها ویژگیهای رنگ و دید هستند که میتوانید روی عناصر نقشه اعمال کنید. آنها رنگ نمایش داده شده را از طریق ترکیبی از مقادیر رنگ، رنگ و روشنایی/گاما تعریف می کنند.
برای توضیحات مفصل گزینه های سبک JSON به مرجع سبک مراجعه کنید.
از Maps Platform Styling Wizard به عنوان یک راه سریع برای تولید یک شی استایل JSON استفاده کنید. Maps SDK برای iOS از اعلانهای سبک مشابه با Maps JavaScript API پشتیبانی میکند.
نمونه کد کامل
مخزن ApiDemos در GitHub شامل نمونه هایی است که استفاده از استایل را نشان می دهد.
علاوه بر تغییر سبک ویژگیهای روی نقشه، میتوانید آنها را به طور کامل پنهان کنید. این مثال به شما نشان می دهد که چگونه نقاط مورد علاقه تجاری (POI) و نمادهای حمل و نقل عمومی را روی نقشه خود پنهان کنید.
یک ظاهر طراحی شده فقط در نوع نقشه kGMSTypeNormal کار می کند.
اعمال سبک ها در نقشه شما
برای اعمال سبکهای نقشه سفارشی روی نقشه، با GMSMapStyle(...) تماس بگیرید تا یک نمونه GMSMapStyle ایجاد کنید، یک URL برای یک فایل JSON محلی یا یک رشته JSON حاوی تعاریف سبک ارسال کنید. نمونه GMSMapStyle را به ویژگی mapStyle نقشه اختصاص دهید.
استفاده از فایل JSON
مثال های زیر فراخوانی GMSMapStyle(...) و ارسال URL برای یک فایل محلی را نشان می دهد:
نمونه کد زیر فرض می کند که پروژه شما حاوی فایلی به نام style.json است:
سویفت
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 زیر را برای پنهان کردن نقاط مورد علاقه تجاری (POI) و نمادهای حملونقل عمومی جایگذاری کنید:
مثالهای زیر فراخوانی 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
اعلان سبک زیر نقاط مورد علاقه تجاری (POI) و نمادهای حمل و نقل عمومی را پنهان می کند. رشته سبک زیر را به عنوان مقدار متغیر kMapStyle قرار دهید:
نقشه های سبک از دو مفهوم برای اعمال رنگ ها و سایر تغییرات سبک در نقشه استفاده می کنند:
انتخابگرها اجزای جغرافیایی را مشخص میکنند که میتوانید روی نقشه استایل دهید. اینها شامل جاده ها، پارک ها، منابع آبی و موارد دیگر و همچنین برچسب های آنها می شود. انتخابگرها شامل ویژگیها و عناصر هستند که به عنوان ویژگیهای featureType و elementType مشخص میشوند.
استایلرها ویژگیهای رنگ و دید هستند که میتوانید روی عناصر نقشه اعمال کنید. آنها رنگ نمایش داده شده را از طریق ترکیبی از مقادیر رنگ، رنگ و روشنایی/گاما تعریف می کنند.
برای توضیحات مفصل گزینه های سبک JSON به مرجع سبک مراجعه کنید.
از Maps Platform Styling Wizard به عنوان یک راه سریع برای تولید یک شی استایل JSON استفاده کنید. Maps SDK برای iOS از اعلانهای سبک مشابه با Maps JavaScript API پشتیبانی میکند.
نمونه کد کامل
مخزن ApiDemos در GitHub شامل نمونه هایی است که استفاده از استایل را نشان می دهد.
تاریخ آخرین بهروزرسانی 2024-12-07 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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"]],["تاریخ آخرین بهروزرسانی 2024-12-07 بهوقت ساعت هماهنگ جهانی."],[],[]]