Constructs a Map object.
The unique identifier of the map.
Constructor options.
Optional
backgroundOptional
backgroundOptional
colorimetry?: ColorimetryOptionsOptional
contourOptional
discardOptional
doubleOptional
elevationOptional
forceForce using texture atlases even when not required.
Optional
graticule?: boolean | defaultOptional
hillshading?: boolean | defaultOptional
maxOptional
object3d?: Object3D<Object3DEventMap>Optional
segments?: numberOptional
showOptional
terrain?: boolean | TerrainOptionsPrivate
Readonly
_atlasPrivate
_colorProtected
_distancePrivate
_hasPrivate
_imageProtected
_instancePrivate
Readonly
_layerPrivate
Readonly
_layerPrivate
Readonly
_layersPrivate
_segmentsPrivate
_subdivisionsReadonly
geometryReadonly
hasRead-only flag to check if a given object is of type HasLayers.
Readonly
isRead-only flag to check if a given object is of type Entity.
Readonly
isRead-only flag to check if a given object is of type Entity3D.
Readonly
isRead-only flag to check if a given object is of type Map.
Readonly
isReadonly
isReadonly
materialReadonly
maxOptional
readyReadonly
showThe global factor that drives SSE (screen space error) computation. The lower this value, the sooner a tile is subdivided. Note: changing this scale to a value less than 1 can drastically increase the number of tiles displayed in the scene, and can even lead to WebGL crashes.
1.5
The name of the type of this object.
Readonly
userAn object that can be used to store custom data about the Entity.
Optional
whenDisplays the map tiles in wireframe.
Gets or sets the clipping planes set on this entity. Default is null
(no clipping planes).
Note: custom entities must ensure that the materials and shaders used do support the clipping plane feature of three.js. Refer to the three.js documentation for more information.
Gets or sets the frozen status of this entity. A frozen entity is still visible but will not be updated automatically.
Useful for debugging purposes.
Gets the unique identifier of this entity.
Returns the number of layers currently in this object.
Returns true
if this map is currently processing data.
Returns the root object of this entity.
Gets or sets the opacity of this entity.
Gets the loading progress (between 0 and 1) of the map. This is the average progress of all
layers in this map.
Note: if no layer is present, this will always be 1.
Note: This value is only meaningful is loading is true
.
Gets or sets the render order of this entity.
Gets or sets the visibility of this entity. A non-visible entity will not be automatically updated.
Adds a listener to an event type.
The type of event to listen to.
The function that gets called when the event is fired.
Adds a layer, then returns the created layer. Before using this method, make sure that the map is added in an instance. If the extent or the projection of the layer is not provided, those values will be inherited from the map.
the layer to add
a promise resolving when the layer is ready
Private
clearFire an event type.
The event that gets fired.
Private
disposeFilters what objects need to be updated, based on updatedSources
.
The returned objects are then passed to preUpdate and postUpdate.
Inherited classes should override shouldFullUpdate and shouldUpdate if they need to change this behavior.
Sources that triggered an update
Set of objects to update
Applies the callback to each layer in the object.
Gets all color layers in this map.
the color layers
Gets all elevation layers in this map.
the elevation layers
Returns the minimal and maximal elevation values in this map, in meters.
If there is no elevation layer present, returns { min: 0, max: 0 }
.
The min/max value.
Returns the position of the layer in the layer list.
The layer to search.
The index of the layer.
Gets all layers that satisfy the filter predicate.
Optional
predicate: ((arg0) => boolean)the optional predicate.
the layers that matched the predicate or all layers if no predicate was provided.
Attached layers expect to receive the visual representation of a layer (= THREE object with a material). So if a layer's update function don't process this kind of object, the layer must provide a getObjectToUpdateForAttachedLayers function that returns the correct object to update for attached layer from the objects returned by preUpdate.
the Mesh or the object containing a Mesh. These are the objects returned by preUpdate or update.
an object passed to the update function of attached layers.
Checks if listener is added to an event type.
The type of event to listen to.
The function that gets called when the event is fired.
Moves the specified layer after the other layer in the list.
The layer to move.
The target layer. If null
, then the layer is put at the
beginning of the layer list.
If the layer is not present in the map.
map.addLayer(foo);
map.addLayer(bar);
map.addLayer(baz);
// Layers (back to front) : foo, bar, baz
map.insertLayerAfter(foo, baz);
// Layers (back to front) : bar, baz, foo
Protected
isMoves the layer closer to the background.
Note: this only applies to color layers.
The layer to move.
If the layer is not present in the map.
map.addLayer(foo);
map.addLayer(bar);
map.addLayer(baz);
// Layers (back to front) : foo, bar, baz
map.moveLayerDown(baz);
// Layers (back to front) : foo, baz, bar
Moves the layer closer to the foreground.
Note: this only applies to color layers.
The layer to move.
If the layer is not present in the map.
map.addLayer(foo);
map.addLayer(bar);
map.addLayer(baz);
// Layers (back to front) : foo, bar, baz
map.moveLayerUp(foo);
// Layers (back to front) : bar, foo, baz
Applies entity-level setup on a new object.
Note: this method should be called from the subclassed entity to notify the parent class that a new 3D object has just been created, so that it can be setup with entity-wide parameters.
The object to prepare.
// In the subclass
const obj = new Object3D();
// Notify the parent class
this.onObjectCreated(obj);
Picks objects from this entity.
Implementations must respect at least limit
and filter
options.
Coordinates on the rendering canvas
Optional
options: PickOptionsOptions
Target
Given a PickResult, returns and assigns its features.
Implementations must set pickedResult.features
to the returned result.
Picked result
Optional
options: PickOptionsOptions
Features
Method called after update.
This method is called just before update()
to filter and select
which elements should be actually updated. For example, in the
case of complex entities made of a hierarchy of elements, the entire
hierarchy may not need to be updated.
Use this method to optimize the update step by reducing the number of elements to process.
Note: if this functions returns nothing, update()
will not be called.
the update context.
the objects that triggered an update step. This is useful to filter out unnecessary updates if no sources are relevant to this entity. For example, if one of the sources is a camera that moved during the previous frame, any entity that depends on the camera's field of view should be updated.
the elements to update during update()
.
Asynchronously preprocess the entity. This method may be overriden to perform any operation that must be done before the entity can be used in the scene, such as fetching metadata about a dataset, etc.
A promise that resolves when the entity is ready to be used.
Private
registerPrivate
registerRemoves a listener from an event type.
The type of the listener that gets removed.
The listener function that gets removed.
Removes a layer from the map.
the layer to remove
The options.
Optional
disposeIf true
, the layer is also disposed.
true
if the layer was present, false
otherwise.
Private
reorderPrivate
requestThis method is called before update
to check if the MainLoop
should try to update this entity or not. For better performances,
it should return false
if the entity has no impact on the
rendering (e.g. the element is not visible).
The inherited child can completely ignore this value if it makes sense.
true
if should check for update
This method is called at the beginning of the update
step to determine
if we should do a full render of the object. This should be the case if, for
instance, the source is the camera.
You can override this depending on your needs. The inherited child should
not ignore this value, it should do a boolean OR, e.g.:
return super.shouldFullUpdate(updateSource) || this.contains(updateSource);
Source of change
true
if requires a full update of this object
This method is called at the beginning of the update
step to determine
if we should re-render updateSource
.
Not used when shouldFullUpdate
returns true
.
You can override this depending on your needs. The inherited child should
not ignore this value, it should do a boolean OR, e.g.:
return super.shouldUpdate(updateSource) || this.contains(updateSource);
Source of change
true
if requires an update of updateSource
Sort the color layers according to the comparator function.
The comparator function.
Private
subdividePrivate
testPrivate
testTraverses all objects in the hierarchy of this entity.
The callback.
The traversal root. If undefined, the traversal starts at the root object of this entity.
Traverses all materials in the hierarchy of this entity.
The callback.
The traversal root. If undefined, the traversal starts at the root object of this entity.
Traverses all meshes in the hierarchy of this entity.
The callback.
The raversal root. If undefined, the traversal starts at the root object of this entity.
Traverses all tiles in the hierarchy of this entity.
The callback.
The raversal root. If undefined, the traversal starts at the root object of this entity.
Private
updatePrivate
updateGenerated using TypeDoc
A map is an Entity3D that represents a flat surface displaying one or more Layer.
If an elevation layer is added, the surface of the map is deformed to display terrain.