MapElementCollection Class

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