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

مقدمة
الصورة المركّبة على الأرض هي صورة ثابتة على الخريطة. على عكس العلامات، تكون الصور المركّبة على الأرض موجّهة نحو سطح الأرض بدلاً من الشاشة، لذا سيؤدي تدوير الخريطة أو إمالتها أو تكبيرها أو تصغيرها إلى تغيير اتجاه الصورة.
لإضافة صورة مركّبة على الأرض، أنشئ كائن
GMSGroundOverlay
يحدّد كلاً من رمز وحدود. سيؤدي عدم تحديد أي منهما إلى عدم ظهور الصورة المركّبة على الأرض على الخريطة. يمكنك اختياريًا تحديد إعدادات إضافية ستؤثر في موضع الصورة على الخريطة.
بعد تحديد الخيارات اللازمة، اضبط السمة map لهذا الكائن لإضافة الصورة المركّبة.
إضافة صورة مركّبة
- إنشاء كائن
GMSGroundOverlayجديد - ضبط السمة
iconعلى مثيل منUIImage - ضبط السمة
boundsعلى مثيل منGMSCoordinateBoundsتمثّل الحدود الزاويتين الجنوبية الغربية والشمالية الشرقية من الصورة. - ضبط الخصائص الاختيارية، مثل
bearingوzoomLevel، حسب الرغبة - ضبط السمة
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.