اتبع هذه الخطوات لإعداد النمط المستند إلى البيانات لمجموعات البيانات.
الحصول على مفتاح واجهة برمجة التطبيقات وتفعيل واجهات برمجة التطبيقات
قبل استخدام النمط المستند إلى البيانات لمجموعات البيانات، تحتاج إلى: مشروع على Google Cloud مع حساب فوترة حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لتطبيقات iOS و"واجهة برمجة تطبيقات مجموعات البيانات للخرائط" مفعّلة. لمزيد من المعلومات، يُرجى الاطّلاع على:
إنشاء معرّف خريطة
mapID هو معرّف فريد يمثّل نسخة واحدة من خريطة Google. يمكنك إنشاء أرقام تعريف للخرائط وتعديل نمط. مرتبطًا بمعرّف خريطة في أي وقت في Google Cloud Console.
إنشاء نمط خريطة جديد
لإنشاء نمط خريطة جديد، اتبع الإرشادات في إدارة الخريطة الأنماط لإنشاء النمط. بعد الانتهاء، اربط النمط بمعرّف الخريطة الذي تم إنشاؤه حديثًا.
تحديث رمز إعداد الخريطة
تتطلب هذه الخطوة ربط معرف الخريطة بنمط يتضمن ميزة واحدة أو أكثر تم تمكين الطبقات. للتحقّق من إعداد معرّف الخريطة بشكل صحيح في Cloud Console، يمكنك مراجعة كيفية إعدادها ضمن "خرائط Google" الإدارة:
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