The map is the core component of OpenLayers. For a map to render, a view,
one or more layers, and a target container are needed:
import Map from 'ol/Map';
import View from 'ol/View';
import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM';
var map = new Map({
view: new View({
center: [0, 0],
zoom: 1
}),
layers: [
new TileLayer({
source: new OSM()
})
],
target: 'map'
});
The above snippet creates a map using a module:ol/layer/Tile~TileLayer
to
display module:ol/source/OSM~OSM
OSM data and render it to a DOM
element with the id map
.
The constructor places a viewport container (with CSS class name
ol-viewport
) in the target element (see getViewport()
), and then two
further elements within the viewport: one with CSS class name
ol-overlaycontainer-stopevent
for controls and some overlays, and one with
CSS class name ol-overlaycontainer
for other overlays (see the stopEvent
option of module:ol/Overlay~Overlay
for the difference). The map
itself is placed in a further element within the viewport.
Layers are stored as a module:ol/Collection~Collection
in
layerGroups. A top-level group is provided by the library. This is what is
accessed by getLayerGroup
and setLayerGroup
. Layers entered in the
options are added to this group, and addLayer
and removeLayer
change the
layer collection in the group. getLayers
is a convenience function for
getLayerGroup().getLayers()
. Note that module:ol/layer/Group~Group
is a subclass of module:ol/layer/Base~BaseLayer
, so layers entered in the
options or added with addLayer
can be groups, which can contain further
groups, and so on.