هذه الصفحة هي دليل سريع لتصميم خريطتك، باستخدام الوضع الليلي كمثال.
نظرة عامة
باستخدام خيارات الأنماط، يمكنك تخصيص طريقة عرض أنماط "خرائط Google" العادية، وتغيير طريقة العرض المرئية للميزات، مثل الطرق والمتنزّهات والمؤسسات التجارية ونقاط الاهتمام الأخرى. هذا يعني أنّه يمكنك التركيز على مكوّنات معيّنة من الخريطة أو جعل الخريطة تتكامل مع نمط تطبيقك.
لا تعمل ميزة التصميم إلا على نوع الخريطة kGMSTypeNormal.
تطبيق الأنماط على خريطتك
لتطبيق أنماط خريطة مخصّصة على خريطة، استخدِم الدالة GMSMapStyle(...) لإنشاء مثيل
GMSMapStyle، مع تمرير عنوان URL لملف JSON محلي أو سلسلة JSON
تحتوي على تعريفات الأنماط. عيِّن مثيل GMSMapStyle للسمة mapStyle في الخريطة.
استخدام ملف JSON
تعرض الأمثلة التالية استدعاء الدالة GMSMapStyle(...) وتمرير عنوان URL لملف محلي:
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("Unable to find style.json")}}catch{NSLog("One or more of the map styles failed to load. \(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(@"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)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}}
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(@"The style definition could not be loaded: %@",error);}mapView.mapStyle=style;self.view=mapView;}@end
لتحديد خيارات النمط، الصِق سلسلة النمط التالية كقيمة للمتغيّر kMapStyle:
تستخدم الخرائط المصمّمة مفهومَين لتطبيق الألوان والتغييرات الأخرى على نمط الخريطة:
تحدّد المحدّدات المكوّنات الجغرافية التي يمكنك تصميمها على الخريطة. وتشمل هذه المكوّنات الطرق والمتنزّهات والمسطحات المائية وغير ذلك، بالإضافة إلى تصنيفاتها. تتضمّن المحدّدات الميزات
و العناصر، المحدّدة كـ featureType و
elementType خصائص.
أدوات التنسيق هي سمات الألوان ونطاق الظهور التي يمكنك تطبيقها على عناصر الخريطة. تحدّد هذه السمات اللون المعروض من خلال مجموعة من قيم تدرّج اللون واللون والسطوع والغاما.
راجِع مرجع الأنماط للحصول على وصف تفصيلي لخيارات تصميم
JSON.
استخدِم
أداة تصميم منصة "خرائط Google"
كطريقة سريعة لإنشاء عنصر تصميم JSON. تتوافق حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" للتطبيقات المتوافقة مع iOS مع إعلانات النمط نفسها التي تتوافق مع Maps JavaScript API.
عيّنات التعليمات البرمجية الكاملة
يتضمّن مستودع
ApiDemos
على GitHub عيّنات توضّح كيفية استخدام التصميم.
تاريخ التعديل الأخير: 2026-05-06 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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"]],["تاريخ التعديل الأخير: 2026-05-06 (حسب التوقيت العالمي المتفَّق عليه)"],[],["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"]]