تراكبات الأرض

اختيار النظام الأساسي: Android iOS JavaScript

الصور المركّبة على الأرض هي صور مركّبة على الخريطة مرتبطة بإحداثيات خطوط الطول والعرض، لذا تتحرّك عند سحب الخريطة أو تكبيرها أو تصغيرها.

مقدمة

الصورة المركّبة على الأرض هي صورة ثابتة على الخريطة. على عكس العلامات، تكون الصور المركّبة على الأرض موجّهة نحو سطح الأرض بدلاً من الشاشة، لذا سيؤدي تدوير الخريطة أو إمالتها أو تكبيرها أو تصغيرها إلى تغيير اتجاه الصورة.

لإضافة صورة مركّبة على الأرض، أنشئ كائن GMSGroundOverlay يحدّد كلاً من رمز وحدود. سيؤدي عدم تحديد أي منهما إلى عدم ظهور الصورة المركّبة على الأرض على الخريطة. يمكنك اختياريًا تحديد إعدادات إضافية ستؤثر في موضع الصورة على الخريطة. بعد تحديد الخيارات اللازمة، اضبط السمة map لهذا الكائن لإضافة الصورة المركّبة.

إضافة صورة مركّبة

  1. إنشاء كائن GMSGroundOverlay جديد
  2. ضبط السمة icon على مثيل من UIImage
  3. ضبط السمة bounds على مثيل من GMSCoordinateBounds تمثّل الحدود الزاويتين الجنوبية الغربية والشمالية الشرقية من الصورة.
  4. ضبط الخصائص الاختيارية، مثل bearing وzoomLevel، حسب الرغبة
  5. ضبط السمة map - تظهر الصورة على الخريطة.

يوضّح المثال أدناه كيفية إضافة صورة مركّبة على الأرض إلى كائن GMSMapView حالي.

Swift

let southWest = CLLocationCoordinate2D(latitude: 40.712216, longitude: -74.22655)
let northEast = CLLocationCoordinate2D(latitude: 40.773941, longitude: -74.12544)
let overlayBounds = GMSCoordinateBounds(coordinate: southWest, coordinate: northEast)

// Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg
let icon = UIImage(named: "newark_nj_1922")

let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon)
overlay.bearing = 0
overlay.map = mapView
      

Objective-C

CLLocationCoordinate2D southWest = CLLocationCoordinate2DMake(40.712216,-74.22655);
CLLocationCoordinate2D northEast = CLLocationCoordinate2DMake(40.773941,-74.12544);
GMSCoordinateBounds *overlayBounds = [[GMSCoordinateBounds alloc] initWithCoordinate:southWest
                                                                        coordinate:northEast];

// Image from http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg
UIImage *icon = [UIImage imageNamed:@"newark_nj_1922"];
GMSGroundOverlay *overlay = [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon];
overlay.bearing = 0;
overlay.map = mapView;
      

إزالة صورة مركّبة

يمكنك إزالة صورة مركّبة على الأرض من الخريطة عن طريق ضبط السمة map في GMSGroundOverlay على nil. بدلاً من ذلك، يمكنك إزالة جميع الصور المركّبة (بما في ذلك الصور المركّبة على الأرض المعروضة حاليًا على الخريطة) عن طريق استدعاء طريقة clear في GMSMapView.

Swift

mapView.clear()
      

Objective-C

[mapView clear];
      

إذا أردت إجراء تعديلات على صورة مركّبة على الأرض بعد إضافتها إلى الخريطة، تأكَّد من الاحتفاظ بكائن GMSGroundOverlay. يمكنك تعديل الصورة المركّبة على الأرض لاحقًا عن طريق إجراء تغييرات على هذا الكائن.

Swift

let overlay = GMSGroundOverlay(bounds: overlayBounds, icon: icon)
overlay.bearing = 0
overlay.map = mapView

// ...

overlay.isTappable = true
      

Objective-C

GMSGroundOverlay *overlay = [GMSGroundOverlay groundOverlayWithBounds:overlayBounds icon:icon];
overlay.bearing = 0;
overlay.map = mapView;

// ...
overlay.tappable = YES;
      

الفعاليات

يمكنك الاستماع إلى الأحداث التي تحدث على الخريطة، مثل عندما ينقر المستخدم على صورة مركّبة. للاستماع إلى الأحداث، عليك تنفيذ بروتوكول الـ GMSMapViewDelegate. راجِع دليل الأحداث وقائمة الطرق في GMSMapViewDelegate.