إضافة طبقة فقاعية إلى الخريطة في iOS SDK (إصدار أولي)

توضح لك هذه المقالة كيفية عرض بيانات النقطة من مصدر بيانات كطبقة فقاعية على الخريطة. تقدم طبقات الفقاعات النقاط كدوائر على الخريطة بنصف قطر نقطي ثابت.

إشعار

خرائط Azure إيقاف iOS SDK

تم الآن إهمال خرائط Azure Native SDK لنظام التشغيل iOS وسيتم إيقافه في 3/31/25. لتجنب انقطاع الخدمة، قم بالترحيل إلى خرائط Azure Web SDK بحلول 3/31/25. لمزيد من المعلومات، راجع دليل ترحيل خرائط Azure iOS SDK.

تلميح

ستعرض الطبقات الفقاعية بشكل افتراضي إحداثيات كل الأشكال الهندسية في مصدر البيانات. لتقييد الطبقة بحيث تعرض فقط معالم هندسة النقاط، اضبط خيار filterللطبقة علىNSPredicate(format: "%@ == \"Point\"", NSExpression.geometryTypeAZMVariable). في حالة كنت تريد تضمين ميزات MultiPoint أيضًا، فاستخدم NSCompoundPredicate.

المتطلبات الأساسية

تأكد من إكمال الخطوات الواردة في تشغيل سريع: أنشئ تطبيق مستند iOS. يمكن إدراج كتل التعليمة البرمجية في هذه المقالة في وظيفة viewDidLoad الخاصة بـ ViewController.

إضافة طبقة فقاعة

التعليمة البرمجية التالية تحمل صفيفًا من النقاط في مصدر بيانات. يقوم بعد ذلك بتوصيل نقاط البيانات بطبقة فقاعية. تعرض طبقة الفقاعة نصف قطر كل فقاعة بخمس نقاط ولون تدرج لوني باللون الأبيض. لون الكتابة للأزرق، وعرض الكتابة ست نقاط.

// Create a data source and add it to the map.
let source = DataSource()
map.sources.add(source)

// Create point locations.
let points = [
    Point(CLLocationCoordinate2D(latitude: 40.75773, longitude: -73.985708)),
    Point(CLLocationCoordinate2D(latitude: 40.76542, longitude: -73.985600)),
    Point(CLLocationCoordinate2D(latitude: 40.77900, longitude: -73.985550)),
    Point(CLLocationCoordinate2D(latitude: 40.74859, longitude: -73.975550)),
    Point(CLLocationCoordinate2D(latitude: 40.78859, longitude: -73.968900))
]

// Add multiple points to the data source.
source.add(geometries: points)

// Create a bubble layer to render the filled in area of the circle, and add it to the map.
let layer = BubbleLayer(source: source, options: [
    .bubbleRadius(5),
    .bubbleColor(.white),
    .bubbleStrokeColor(.blue),
    .bubbleStrokeWidth(6)
])
map.layers.addLayer(layer)

تُظهر لقطة الشاشة التالية أن الكود أعلاه يعرض نقاطًا في طبقة فقاعية.

خمس نقاط معروضة على طبقة فقاعية في الخريطة.

إظهار التسميات على طبقة فقاعية

هذه التعليمة البرمجية توضح لك كيفية استخدام طبقة فقاعية لعرض نقطة على الخريطة. وكيفية استخدام طبقة رمز لتقديم تسمية. لإخفاء أيقونة طبقة الرمز، عين الخيار iconImage إلى nil.

// Create a data source and add it to the map.
let source = DataSource()
map.sources.add(source)

// Add a data point to the map.
source.add(geometry: Point(CLLocationCoordinate2D(latitude: 47.627631, longitude: -122.336641)))

// Add a bubble layer.
map.layers.addLayer(
    BubbleLayer(source: source, options: [
        .bubbleRadius(5),
        .bubbleColor(.white),
        .bubbleStrokeColor(.blue),
        .bubbleStrokeWidth(6)
    ])
)

// Add a symbol layer to display text, hide the icon image.
map.layers.addLayer(
    SymbolLayer(source: source, options: [
        .iconImage(nil),
        .textField("Museum of History & Industry (MOHAI)"),
        .textColor(.blue),
        .textOffset(CGVector(dx: 0, dy: -2.2))
    ])
)

لقطة الشاشة التالية تُظهر التعليمة البرمجية أعلاه التي تعرض نقطة في طبقة فقاعية وتسمية نصية للنقطة بطبقة رمز.

أضف طبقة فقاعية إلى الخريطة.

معلومات إضافية

راجع المقالات التالية للحصول على المزيد من نماذج التعليمات البرمجية لإضافتها إلى الخرائط الخاصة بك: