لاستخدام النمط المستند إلى البيانات للحدود، عليك إنشاء رقم تعريف خريطة. بعد ذلك، يجب عليك إنشاء نمط خريطة جديد، وتحديد طبقات عناصر الحدود المطلوبة، وربط النمط بمعرف الخريطة.
إنشاء معرّف خريطة
mapID هو معرّف فريد يمثّل مثيلاً واحدًا من خريطة Google. يمكنك إنشاء أرقام تعريف للخرائط وتعديل نمط مرتبط بمعرّف خريطة في أي وقت في Google Cloud Console.
إنشاء نمط خريطة جديد
لإنشاء نمط خريطة جديد، اتبع الإرشادات الواردة في إدارة أنماط الخرائط لإنشاء النمط. بعد الانتهاء، اربط النمط بمعرّف الخريطة الذي تم إنشاؤه حديثًا.
تحديد طبقات الميزات
في Google Cloud Console، يمكنك اختيار طبقات الميزات المطلوب عرضها. يحدد هذا أنواع الحدود التي تظهر على الخريطة (على سبيل المثال، المناطق المحلية والولايات وما إلى ذلك).
إدارة طبقات الميزات
في 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]];
إضافة طبقات عناصر إلى خريطة
للاطّلاع على إشارة إلى طبقة عناصر على الخريطة، يمكنك طلب الرمز
mapView.featureLayer(of:)
عند إعداد الخريطة:
Swift
let layer = mapView.featureLayer(of: .locality)
Objective-C
GMSFeatureLayer*layer = [mapView featureLayerOfFeatureType:GMSFeatureTypeLocality];
الاطّلاع على إمكانيات الخريطة
يتطلّب التصميم المستند إلى البيانات للحدود إمكانات يتم تفعيلها في
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