# MapGISGeojsonTilePrimitiveCollection

#### new Cesium.MapGISGeojsonTilePrimitiveCollection(options)
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 37

A collection of primitives for MapGISGeojsonLayer. but `MapGISGeojsonTilePrimitiveCollection` is also a primitive itself so collections can be added to collections forming a hierarchy.

Name | Type | Description
--- | --- | ---
`options` | Object | optional Object with the following properties:
Name | Type | Default | Description
--- | --- | --- | ---
`show` | Boolean | `true` | optional Determines if the primitives in the collection will be shown.
`destroyPrimitives` | Boolean | `true` | optional Determines if primitives in the collection are destroyed when they are removed.

##### Example:

    var billboards = new Cesium.BillboardCollection();
    var labels = new Cesium.LabelCollection();

    var collection = new Cesium.MapGISGeojsonTilePrimitiveCollection();
    collection.add(billboards);

    scene.primitives.add(collection);  // Add collection
    scene.primitives.add(labels);      // Add regular primitive

### Members

#### destroyPrimitives : Boolean
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 85

Determines if primitives in the collection are destroyed when they are removed by `MapGISGeojsonTilePrimitiveCollection#destroy` or `MapGISGeojsonTilePrimitiveCollection#remove` or implicitly by `MapGISGeojsonTilePrimitiveCollection#removeAll`.

Default Value: `true`

##### Examples:

    // Example 1. Primitives are destroyed by default.
    var primitives = new Cesium.MapGISGeojsonTilePrimitiveCollection();
    var labels = primitives.add(new Cesium.LabelCollection());
    primitives = primitives.destroy();
    var b = labels.isDestroyed(); // true

    // Example 2. Do not destroy primitives in a collection.
    var primitives = new Cesium.MapGISGeojsonTilePrimitiveCollection();
    primitives.destroyPrimitives = false;
    var labels = primitives.add(new Cesium.LabelCollection());
    primitives = primitives.destroy();
    var b = labels.isDestroyed(); // false
    labels = labels.destroy();    // explicitly destroy

#### readonly length : Number
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 97

Gets the number of primitives in the collection.

#### show : Boolean
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 55

Determines if primitives in this collection will be shown.

Default Value: `true`

### Methods

#### add(primitive, index) → Object
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 140

Adds a primitive to the collection.

Name | Type | Description
--- | --- | ---
`primitive` | Object | The primitive to add.
`index` | Number | optional The index to add the layer at. If omitted, the primitive will be added at the bottom of all existing primitives.

##### Returns:

The primitive added to the collection.

##### Throws:

- DeveloperError : This object was destroyed, i.e., destroy() was called.

##### Example:

    var billboards = scene.primitives.add(new Cesium.BillboardCollection());

#### contains(primitive) → Boolean
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 254

Determines if this collection contains a primitive.

Name | Type | Description
--- | --- | ---
`primitive` | Object | optional The primitive to check for.

##### Returns:

`true` if the primitive is in the collection; `false` if the primitive is `undefined` or was not found in the collection.

##### Throws:

- DeveloperError : This object was destroyed, i.e., destroy() was called.

##### See:

- MapGISGeojsonTilePrimitiveCollection#get

#### destroy()
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 577

Destroys the WebGL resources held by each primitive in this collection. Explicitly destroying this collection allows for deterministic release of WebGL resources, instead of relying on the garbage collector to destroy this collection.
Since destroying a collection destroys all the contained primitives, only destroy a collection when you are sure no other code is still using any of the contained primitives.
Once this collection is destroyed, it should not be used; calling any function other than `isDestroyed` will result in a `DeveloperError` exception. Therefore, assign the return value (`undefined`) to the object as done in the example.

##### Throws:

- DeveloperError : This object was destroyed, i.e., destroy() was called.

##### Example:

    primitives = primitives && primitives.destroy();

##### See:

- MapGISGeojsonTilePrimitiveCollection#isDestroyed

#### get(index) → Object
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 392

Returns the primitive in the collection at the specified index.

Name | Type | Description
--- | --- | ---
`index` | Number | The zero-based index of the primitive to return.

##### Returns:

The primitive at the `index`.

##### Throws:

- DeveloperError : This object was destroyed, i.e., destroy() was called.

##### Example:

    // Toggle the show property of every primitive in the collection.
    var primitives = scene.primitives;
    var length = primitives.length;
    for (var i = 0; i < length; ++i) {
      var p = primitives.get(i);
      p.show = !p.show;
    }

##### See:

- MapGISGeojsonTilePrimitiveCollection#length

#### getFirstUndefinedIndex() → Number
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 118

##### Returns:

Index

#### isDestroyed() → Boolean
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 553

Returns true if this object was destroyed; otherwise, false.
If this object was destroyed, it should not be used; calling any function other than `isDestroyed` will result in a `DeveloperError` exception.

##### Returns:

True if this object was destroyed; otherwise, false.

##### See:

- MapGISGeojsonTilePrimitiveCollection#destroy

#### lower(primitive)
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 333

Lowers a primitive "down one" in the collection. If all primitives in the collection are drawn on the globe surface, this visually moves the primitive down one.

Name | Type | Description
--- | --- | ---
`primitive` | Object | optional The primitive to lower.

##### Throws:

- DeveloperError : primitive is not in this collection.
- DeveloperError : This object was destroyed, i.e., destroy() was called.

##### See:

- MapGISGeojsonTilePrimitiveCollection#lowerToBottom
- MapGISGeojsonTilePrimitiveCollection#raise
- MapGISGeojsonTilePrimitiveCollection#raiseToTop

#### lowerToBottom(primitive)
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 359

Lowers a primitive to the "bottom" of the collection. If all primitives in the collection are drawn on the globe surface, this visually moves the primitive to the bottom.

Name | Type | Description
--- | --- | ---
`primitive` | Object | optional The primitive to lower to the bottom.

##### Throws:

- DeveloperError : primitive is not in this collection.
- DeveloperError : This object was destroyed, i.e., destroy() was called.

##### See:

- MapGISGeojsonTilePrimitiveCollection#lower
- MapGISGeojsonTilePrimitiveCollection#raise
- MapGISGeojsonTilePrimitiveCollection#raiseToTop

#### raise(primitive)
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 281

Raises a primitive "up one" in the collection. If all primitives in the collection are drawn on the globe surface, this visually moves the primitive up one.

Name | Type | Description
--- | --- | ---
`primitive` | Object | optional The primitive to raise.

##### Throws:

- DeveloperError : primitive is not in this collection.
- DeveloperError : This object was destroyed, i.e., destroy() was called.

##### See:

- MapGISGeojsonTilePrimitiveCollection#raiseToTop
- MapGISGeojsonTilePrimitiveCollection#lower
- MapGISGeojsonTilePrimitiveCollection#lowerToBottom

#### raiseToTop(primitive)
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 307

Raises a primitive to the "top" of the collection. If all primitives in the collection are drawn on the globe surface, this visually moves the primitive to the top.

Name | Type | Description
--- | --- | ---
`primitive` | Object | optional The primitive to raise the top.

##### Throws:

- DeveloperError : primitive is not in this collection.
- DeveloperError : This object was destroyed, i.e., destroy() was called.

##### See:

- MapGISGeojsonTilePrimitiveCollection#raise
- MapGISGeojsonTilePrimitiveCollection#lower
- MapGISGeojsonTilePrimitiveCollection#lowerToBottom

#### remove(primitive) → Boolean
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 190

Removes a primitive from the collection.

Name | Type | Description
--- | --- | ---
`primitive` | Object | optional The primitive to remove.

##### Returns:

`true` if the primitive was removed; `false` if the primitive is `undefined` or was not found in the collection.

##### Throws:

- DeveloperError : This object was destroyed, i.e., destroy() was called.

##### Example:

    var billboards = scene.primitives.add(new Cesium.BillboardCollection());
    scene.primitives.remove(billboards);  // Returns true

##### See:

- MapGISGeojsonTilePrimitiveCollection#destroyPrimitives

#### removeAll()
MapGIS/Geojson/MapGISGeojsonTilePrimitiveCollection.js 232

Removes all primitives in the collection.

##### Throws:

- DeveloperError : This object was destroyed, i.e., destroy() was called.

##### See:

- MapGISGeojsonTilePrimitiveCollection#destroyPrimitives