MapElementCollection Class

Note

Bing Maps SDK for Android and iOS retirement

Bing Maps SDK for Android and iOS is deprecated and will be retired. Free (Basic) account customers can continue to use Bing Maps SDK for Android and iOS until June 30th, 2025. Enterprise account customers can continue to use Bing Maps SDK for Android and iOS until June 30th, 2028. To avoid service disruptions, all implementations using Bing Maps SDK for Android and iOS will need to be updated to use Azure Maps Web SDK by the retirement date that applies to your Bing Maps for Enterprise account type.

Azure Maps is Microsoft's next-generation maps and geospatial services for developers. Azure Maps has many of the same features as Bing Maps for Enterprise, and more. To get started with Azure Maps, create a free Azure subscription and an Azure Maps account. For more information about azure Maps, see Azure Maps Documentation. For migration guidance, see Bing Maps Migration Overview.

Contains all the elements that have been added to the map.

Android

class MapElementCollection implements Iterable<MapElement>

iOS

@interface MSMapElementCollection : NSObject<NSFastEnumeration>

Properties

Size

Returns the number of items in the collection.

Android

int size()

iOS

@property (readonly) NSUInteger count

Methods

Add

Adds a MapIcon, MapPolyline, or MapPolygon to the MapView. Returns false if the MapElement is already in the MapView.

Android

boolean add(MapElement element)

iOS

- (BOOL)addMapElement:(MSMapElement *)mapElement

Clear

Removes all elements from the collection.

Android

void clear()

iOS

- (void)clear

Contains

Returns true if the collection contains the specified element.

Android

boolean contains(MapElement element)

iOS

- (BOOL)contains:(MSMapElement*)mapElement

Iterator (Android only)

Allows enumerating over the elements in the collection.

Iterator<MapElement> iterator()

Insert

Insert the specified element at the specified index.

Android

void add(int index, MapElement element)

iOS

- (void)insertMapElement:(MSMapElement *)mapElement atIndex:(NSInteger)index

Remove

Removes the specified element from the collection.

Android

boolean remove(MapElement element)

iOS

- (BOOL)removeMapElement:(MSMapElement *)mapElement

RemoveAtIndex

Removes element at the specified index from the collection.

Android

void remove (int index)

iOS

- (void)removeMapElementAtIndex:(NSUInteger)index

Notes

Sequence protocol in Swift

In Swift, to be able to iterate through MSMapElementCollection using a for-in loop, you will need to add the following extension that conforms to the required Sequence protocol.

extension MSMapElementCollection: Sequence {
    public func makeIterator() -> NSFastEnumerationIterator {
        return NSFastEnumerationIterator(self)
    }
}

See Also