اتّبِع الخطوات التالية للإعداد باستخدام التنسيق المستنِد إلى البيانات لمجموعات البيانات.
الحصول على مفتاح واجهة برمجة التطبيقات وتفعيل واجهات برمجة التطبيقات
قبل استخدام ميزة التصميم المستنِد إلى البيانات لمجموعات البيانات، يجب توفُّر ما يلي: مشروع على Google Cloud يتضمّن حساب فوترة، ويجب تفعيل كلّ من حزمة تطوير البرامج (SDK) لتطبيق "خرائط Google" لنظام التشغيل iOS و"Maps Datasets API" . لمزيد من المعلومات، يُرجى الاطّلاع على:
إنشاء رقم تعريف خريطة
mapID هو معرّف فريد يمثّل نسخة واحدة من خريطة Google. يمكنك إنشاء معرّفات خرائط وتعديل أسلوب مرتبط بمعرّف خريطة في أي وقت في Google Cloud Console.
إنشاء نمط خريطة جديد
لإنشاء نمط جديد للخريطة، اتّبِع التعليمات الواردة في مقالة إدارة أنماط الخريطة لإنشاء النمط. بعد الانتهاء، اربط النمط بمعرّف الخريطة الذي تم إنشاؤه حديثًا.
تعديل رمز إعداد الخريطة
تتطلّب هذه الخطوة ربط رقم تعريف الخريطة بأسلوب تم تفعيل ملف واحد أو أكثر من ملفات العناصر فيه. للتأكّد من إعداد رقم تعريف الخريطة بشكلٍ صحيح في Cloud Console، راجِع كيفية ضبطه ضمن إدارة الخرائط.
Swift
// A map ID using a style with one or more feature layers enabled let mapID = GMSMapID(identifier: "YOUR_MAP_ID") let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7))
Objective-C
// A map ID using a style with one or more feature layers enabled GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"MAP_ID"]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:[GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]];
الاطّلاع على إمكانات الخريطة
تتطلّب ميزة التصميم المستنِد إلى البيانات لمجموعات البيانات تفعيل إمكانات في
Google Cloud Console وربطها بمعرّف خريطة. بما أنّ أرقام تعريف الخرائط تخضع
للتغيير، يمكنك استدعاء
mapView.mapCapabilities
في
GMSMapView
للتحقّق مما إذا كانت ميزة معيّنة (مثل التصميم المستنِد إلى البيانات) متوفرة
قبل استدعائها.
يمكنك أيضًا رصد التغييرات في إمكانات الخريطة من خلال الاشتراك في رسائل GMSViewDelegate
.
يوضّح هذا المثال كيفية استخدام البروتوكول للتحقّق من متطلبات التنسيق بالاستناد إلى البيانات.
Swift
class SampleViewController: UIViewController { private lazy var mapView: GMSMapView = GMSMapView(frame: .zero, mapID: GMSMapID(identifier: "YOUR_MAP_ID"), camera: GMSCameraPosition(latitude: 40, longitude: -80, zoom: 7)) override func loadView() { self.view = mapView mapView.delegate = self } } extension SampleViewController: GMSMapViewDelegate { func mapView(_ mapView: GMSMapView, didChange mapCapabilities: GMSMapCapabilityFlags) { if (!mapCapabilities.contains(.dataDrivenStyling)) { // Data-driven styling is *not* available, add a fallback. // Existing feature layers are also unavailable. } } }
Objective-C
@interface SampleViewController: UIViewController <GMSMapViewDelegate> @end @implementation SampleViewController - (void)loadView { GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:[GMSMapID mapIDWithIdentifier:@"MAP_ID"] camera:[GMSCameraPosition cameraWithLatitude:40 longitude:-80 zoom:7]]; mapView.delegete = self; self.view = mapView; } - (void)mapView:(GMSMapView *)mapView didChangeMapCapabilities:(GMSMapCapabilityFlags)mapCapabilities { if (!(mapCapabilities & GMSMapCapabilityFlagsDataDrivenStyling)) { // Data-driven styling is *not* available, add a fallback. // Existing feature layers are also unavailable. } } @end