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

اختيار النظام الأساسي: نظام التشغيل 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" بدلاً من ذلك، يمكنك إزالة جميع التراكبات (بما في ذلك تراكبات الأرض الموجودة حاليًا على الخريطة من خلال استدعاء طريقة GMSMapView clear.

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