سيتوفّر تصميم الخريطة الجديد قريبًا على "منصة خرائط Google". يتضمن هذا التحديث على تصميم الخريطة لوحة ألوان تلقائية جديدة وتحسينات على تجارب الخرائط وسهولة الاستخدام. سيتم تعديل جميع أنماط الخرائط تلقائيًا في آذار (مارس) 2025. للمزيد من المعلومات عن مدى التوفّر وكيفية تفعيل الميزة في وقت سابق، يُرجى الاطّلاع على نمط الخريطة الجديد في "منصة خرائط Google".
هذه الصفحة هي دليل سريع لتصميم خريطتك، باستخدام الوضع الليلي كمثال.
نظرة عامة
باستخدام خيارات الأنماط، يمكنك تخصيص عرض أنماط "خرائط Google" العادية، وتغيير العرض المرئي لميزات مثل الطرق والمتنزهات والأعمال التجارية وغيرها من نقاط الاهتمام. وهذا يعني أنّه يمكنك التأكيد على
مكونات معيّنة من الخريطة أو جعل الخريطة تكمل نمط
تطبيقك.
لا تعمل ميزة "التنسيق" إلا على نوع الخريطة kGMSTypeNormal.
تطبيق الأنماط على خريطتك
لتطبيق أنماط خرائط مخصّصة على خريطة، استخدِم GMSMapStyle(...) لإنشاء مثيل
GMSMapStyle، مع إدخال عنوان URL لملف JSON على الجهاز أو سلسلة
JSON تحتوي على تعريفات الأنماط. عيِّن مثيل GMSMapStyle للسمة
mapStyle في الخريطة.
باستخدام ملف JSON
تعرض الأمثلة التالية استدعاء GMSMapStyle(...) وضبط عنوان URL لملف
محلي:
Swift
import GoogleMaps
class MapStyling: UIViewController {
// Set the status bar style to complement night-mode.
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
override func loadView() {
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 14.0)
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
do {
// Set the map style by passing the URL of the local file.
if let styleURL = Bundle.main.url(forResource: "style", withExtension: "json") {
mapView.mapStyle = try GMSMapStyle(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"
@import GoogleMaps;
@interface MapStyling ()
@end
@implementation MapStyling
// Set the status bar style to complement night-mode.
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
- (void)loadView {
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
longitude:151.20
zoom:12];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
mapView.myLocationEnabled = YES;
NSBundle *mainBundle = [NSBundle mainBundle];
NSURL *styleUrl = [mainBundle URLForResource:@"style" withExtension:@"json"];
NSError *error;
// Set the map style by passing the URL for style.json.
GMSMapStyle *style = [GMSMapStyle styleWithContentsOfFileURL:styleUrl error:&error];
if (!style) {
NSLog(@"The style definition could not be loaded: %@", error);
}
mapView.mapStyle = style;
self.view = mapView;
}
@end
لتحديد خيارات التصميم، أضِف ملفًا جديدًا إلى مشروعك باسم style.json،
ولصِق بيان نمط JSON التالي لتصميم الوضع الليلي:
تعرض الأمثلة التالية استدعاء GMSMapStyle(...) وتمرير سلسلة
مصدر:
Swift
class MapStylingStringResource: UIViewController {
let MapStyle = "JSON_STYLE_GOES_HERE"
// Set the status bar style to complement night-mode.
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
override func loadView() {
let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 14.0)
let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
do {
// Set the map style by passing a valid JSON string.
mapView.mapStyle = try GMSMapStyle(jsonString: MapStyle)
} catch {
NSLog("One or more of the map styles failed to load. \(error)")
}
self.view = mapView
}
}
Objective-C
@implementation MapStylingStringResource
// Paste the JSON string to use.
static NSString *const kMapStyle = @"JSON_STYLE_GOES_HERE";
// Set the status bar style to complement night-mode.
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
- (void)loadView {
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
longitude:151.20
zoom:12];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
mapView.myLocationEnabled = YES;
NSError *error;
// Set the map style by passing a valid JSON string.
GMSMapStyle *style = [GMSMapStyle styleWithJSONString:kMapStyle error:&error];
if (!style) {
NSLog(@"The style definition could not be loaded: %@", error);
}
mapView.mapStyle = style;
self.view = mapView;
}
@end
لتحديد خيارات التصميم، الصِق سلسلة التصميم التالية كقيمة
للمتغيّر kMapStyle:
تستخدِم الخرائط المصمّمة مفهومَين لتطبيق الألوان وتغييرات أخرى في التصميم على
الخريطة:
تحدِّد أداة الاختيار المكوّنات الجغرافية التي يمكنك
تطبيق نمط عليها على الخريطة. وتشمل هذه المساحات الطرق والمتنزّهات والمسطحات المائية وغيرها، بالإضافة إلى تصنيفاتها. تشمل أدوات الاختيار العناصر
والسمات، التي يتم تحديدها كسمتَي featureType و
elementType.
أدوات الأسلوب هي خصائص اللون ومستوى الرؤية التي يمكنك
تطبيقها على عناصر الخريطة. وتحدِّد هذه القيم اللون المعروض من خلال
مزيج من قيم تدرج اللون واللون والسطوع/معامل غاما.
اطّلِع على مرجع الأنماط للحصول على وصف تفصيلي ل options
JSON styling.
استخدِم معالج تنسيق منصة خرائط Google كطريقة سريعة
لإنشاء عنصر تنسيق JSON. تتوافق حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل iOS مع ملفّات تعريف الأنماط
نفسها المتوافقة مع واجهة برمجة التطبيقات JavaScript للخرائط.
عيّنات التعليمات البرمجية الكاملة
يتضمّن مستودع ApiDemos على GitHub
عيّنات توضّح استخدام التنسيق.