GeoObjectCollection
Extends IGeoObject, IGeoObjectCollection.
Collection of geo objects. Allows you to group geo objects for adding them to the map, setting options, etc. Collections are geo objects too.
Constructor | Fields | Events | Methods
Constructor
GeoObjectCollection([feature[, options]])
Creates a collection of geo objects.
Parameters:
Parameter |
Default value |
Description |
— |
Type: Object Collection description. For all purposes, corresponds to the geo object description. See GeoObject object. |
|
— |
Type: IGeoObject[] Array of child geoobjects. |
|
— |
Type: IGeometry|Object Geometry of a collection. |
|
— |
Type: IDataManager|Object Collection data. |
|
— |
Type: Object Collection options. You can set all the options described in the GeoObject object. Option values will be applied both to the collection itself and to its child objects, if these options are not set for them. |
Example:
// Creating a collection of geo objects and setting options.
var myGeoObjects = new ymaps.GeoObjectCollection({}, {
preset: "islands#redCircleIcon",
strokeWidth: 4,
geodesic: true
});
// Adding placemarks and a polyline to the collection.
myGeoObjects.add(new ymaps.Placemark([13.38, 52.51]));
myGeoObjects.add(new ymaps.Placemark([30.30, 50.27]));
myGeoObjects.add(new ymaps.Polyline([[13.38, 52.51], [30.30, 50.27]]));
// Adding the collection to the map.
myMap.geoObjects.add(myGeoObjects);
// Setting the map center and scale so that the whole collection is visible.
myMap.setBounds(myGeoObjects.getBounds());
Fields
Name |
Type |
Description |
Event manager. Inherited from IDomEventEmitter. |
||
IGeometry|null |
Geo object geometry. Inherited from IGeoObject. |
|
Options manager. Inherited from ICustomizable. |
||
Geo object data. Inherited from IGeoObject. |
||
State of the geo object. Inherited from IGeoObject. |
Events
Name |
Description |
A child geo object has been added (inserted). Instance of the Event class. Names of fields that are available via the Event.get method:
Inherited from IGeoObjectCollection. |
|
Change to coordinates of the geographical area that includes the collection and all its child geo objects. Instance of the Event class. |
|
Single left-click on the object. When using, keep in mind that mouse events are emulated when a touch screen is used. Instance of the MapEvent class. More information is available in domEvent.manager. Inherited from IDomEventEmitter. |
|
Calls the element's context menu. When using, keep in mind that mouse events are emulated when a touch screen is used. Instance of the MapEvent class. More information is available in domEvent.manager. Inherited from IDomEventEmitter. |
|
Double left-click on the object. When using, keep in mind that mouse events are emulated when a touch screen is used. Instance of the MapEvent class. More information is available in domEvent.manager. Inherited from IDomEventEmitter. |
|
Change to the geo object geometry. Instance of the Event class. Names of fields that are available via the Event.get method:
Inherited from IGeoObject. |
|
Map reference changed. Data fields:
Inherited from IParentOnMap. |
|
Pressing the mouse button over the object. When using, keep in mind that mouse events are emulated when a touch screen is used. Instance of the MapEvent class. More information is available in domEvent.manager. Inherited from IDomEventEmitter. |
|
Pointing the cursor at the object. When using, keep in mind that mouse events are emulated when a touch screen is used. Instance of the MapEvent class. More information is available in domEvent.manager. Inherited from IDomEventEmitter. |
|
Moving the cursor off of the object. When using, keep in mind that mouse events are emulated when a touch screen is used. Instance of the MapEvent class. More information is available in domEvent.manager. Inherited from IDomEventEmitter. |
|
Moving the cursor over the object. When using, keep in mind that mouse events are emulated when a touch screen is used. Instance of the MapEvent class. More information is available in domEvent.manager. Inherited from IDomEventEmitter. |
|
Letting go of the mouse button over an object. When using, keep in mind that mouse events are emulated when a touch screen is used. Instance of the MapEvent class. More information is available in domEvent.manager. Inherited from IDomEventEmitter. |
|
End of multitouch. This event is only available on devices that support multitouch. Returns an implementation of the IMultiTouchEvent interface. Inherited from IDomEventEmitter. |
|
Repeating event during multitouch. This event is only available on devices that support multitouch. Returns an implementation of the IMultiTouchEvent interface with information about touches. Defines the touches property, which contains a list of touches. Every touch is described by an object that contains the following fields:
Inherited from IDomEventEmitter. |
|
Start of multitouch. This event is only available on devices that support multitouch. Returns an implementation of the IMultiTouchEvent interface with information about touches. Defines the touches property, which contains a list of touches. Every touch is described by an object that contains the following fields:
Inherited from IDomEventEmitter. |
|
Change to the object options. Inherited from ICustomizable. |
|
Change to the geo object overlay. Instance of the Event class. Names of fields that are available via the Event.get method:
Inherited from IGeoObject. |
|
The parent object reference changed. Data fields:
Inherited from IChild. |
|
Change to pixel coordinates of the area that includes the collection and all its child geo objects. Instance of the Event class. |
|
Change to the geo object data. Instance of the Event class. Names of fields that are available via the Event.get method:
Inherited from IGeoObject. |
|
A child geo object has been removed. Instance of the Event class. Names of fields that are available via the Event.get method:
Inherited from IGeoObjectCollection. |
|
A new child geo object has been added to the collection. Instance of the Event class. Names of fields that are available via the Event.get method:
Inherited from IGeoObjectCollection. |
|
Mouse wheel scrolling. When using, keep in mind that mouse events are emulated when a touch screen is used. Instance of the MapEvent class. More information is available in domEvent.manager. Inherited from IDomEventEmitter. |
Methods
Name |
Returns |
Description |
Adds a geo object to the collection. |
||
Iterates through all the items in the collection and calls a handler function for each of them. |
||
Returns a child geo object with the specified index. Inherited from IGeoObjectCollection. |
||
Number[][]|null |
Returns geographical coordinates of the area that covers the collection and all its child geo objects. |
|
Returns iterator for the collection. |
||
Integer |
Returns the number of geo objects in the collection. |
|
getMap() |
Returns reference to the map. Inherited from IParentOnMap. |
|
Returns the promise object, which is confirmed by the overlay object at the time it is actually created, or is rejected with an appropriate error message. Inherited from IGeoObject. |
||
IOverlay|null |
The method provides synchronous access to the overlay. Inherited from IGeoObject. |
|
IParentOnMap|null |
Returns link to the parent object, or null if the parent element was not set. Inherited from IChildOnMap. |
|
Number[][]|null |
Returns global pixel coordinates of the area that spans the collection and all its child geo objects. |
|
Integer |
Returns index of the child geo object. If the geo object cannot be found in the collection, -1 is returned. Inherited from IGeoObjectCollection. |
|
Removes a geo object from the collection. |
||
Removes all the geo objects from the collection. |
||
Adds a new child geo object to the collection. |
||
Sets the parent object. If the null value is passed, the manager element will only be deleted from the current parent object. Inherited from IChildOnMap. |
||
Removes geo objects from the collection. If necessary, puts other objects in their place. Objects that will be added in place of the deleted ones are passed as additional parameters (after the "number" parameter). |
||
toArray() |
Returns an array containing all the collection's geo objects at the time of the method call. |
Events details
boundschange
Change to coordinates of the geographical area that includes the collection and all its child geo objects. Instance of the Event class.
pixelboundschange
Change to pixel coordinates of the area that includes the collection and all its child geo objects. Instance of the Event class.
Methods details
add
{GeoObjectCollection} add(child)
Adds a geo object to the collection.
Returns a reference to the collection.
Parameters:
Parameter |
Default value |
Description |
— |
Type: IGeoObject Child object. |
* Mandatory parameter/option.
each
{} each(callback[, context])
Iterates through all the items in the collection and calls a handler function for each of them.
Parameters:
Parameter |
Default value |
Description |
— |
Type: Function Handler function. |
|
— |
Type: Object Context for the function. |
* Mandatory parameter/option.
getBounds
{Number[][]|null} getBounds()
Returns geographical coordinates of the area that covers the collection and all its child geo objects.
Example:
// Setting the map center and zoom so that the entire collection is displayed.
myMap.setBounds(myCollection.getBounds());
getIterator
{IIterator} getIterator()
Returns iterator for the collection.
Example:
// Searching the collection for a geo object with the "Polyline" geometry.
var iterator = myGroup.getIterator(),
object;
while ((object = iterator.getNext()) != iterator.STOP_ITERATION) {
if (object.geometry.getType() == "LineString") {
break;
}
}
getLength
{Integer} getLength()
Returns the number of geo objects in the collection.
getPixelBounds
{Number[][]|null} getPixelBounds()
Returns global pixel coordinates of the area that spans the collection and all its child geo objects.
remove
{GeoObjectCollection} remove(child)
Removes a geo object from the collection.
Returns a reference to the collection.
Parameters:
Parameter |
Default value |
Description |
— |
Type: IGeoObject Child object. |
* Mandatory parameter/option.
removeAll
{GeoObjectCollection} removeAll()
Removes all the geo objects from the collection.
Returns a reference to the collection.
set
{GeoObjectCollection} set(index, child)
Adds a new child geo object to the collection.
Returns self-reference.
Parameters:
Parameter |
Default value |
Description |
— |
Type: Integer Index. |
|
— |
Type: IGeoObject Child object. |
* Mandatory parameter/option.
splice
{GeoObjectCollection} splice(index, number)
Removes geo objects from the collection. If necessary, puts other objects in their place. Objects that will be added in place of the deleted ones are passed as additional parameters (after the "number" parameter).
Returns collection of deleted geo objects.
Parameters:
Parameter |
Default value |
Description |
— |
Type: Integer Index of the geo object to start deletion from. |
|
— |
Type: Integer The number of geo objects to be deleted. |
* Mandatory parameter/option.
Example:
// Removes the second object.
myGeoObjects.splice(1, 1);
// Puts a new "obj" object in the second position.
myGeoObjects.splice(1, 0, obj);
// Replaces the second object with the new "obj" object.
myGeoObjects.splice(1, 1, obj);
toArray
{IGeoObject[]} toArray()
Returns an array containing all the collection's geo objects at the time of the method call.
Mandatory parameter/option.