11.2.1 (2024-10-02)
- apply URL changes on XYZ source (aba4eb6), closes #383
- ensure onMounted and inject is only called in setup context (256dd87), closes #385 #382
11.2.0 (2024-09-04)
- ol-style-fill: add fill color gradient (#375) (dd2aebd)
- ol-style-fill: correctly setup conic gradient (#375) (580591b)
- ol-style-fill: prevent re-calculation of gradient on watched changes (#375) (f2a740e)
11.1.0 (2024-08-09)
- ol-interaction-mouse-wheel-zoom: provide new interaction to disable / customize mouse zoom behavior (8846176), closes #356
11.0.1 (2024-08-07)
11.0.0 (2024-08-04)
- support OpenLayers@10 (c29a966)
- A minimum version of OpenLayers 10 is now required.
10.3.1 (2024-08-04)
- Revert "docs(ol-source-*): drop
opaque
option since it has been removed with OpenLayers 10" (9e6dc68) - Revert "feat: support OpenLayers@10" (7726424)
- Revert "chore(deps): update dependencies" (d6199da)
10.3.0 (2024-08-04)
- support OpenLayers@10 (129b5e7)
10.2.0 (2024-08-04)
- support OpenLayers@10 (3d9201d)
10.1.0 (2024-08-01)
- ol-interaction-modify: make source injection optional (30fbcf7), closes #368
- ol-interaction-select: use original FilterFunction type from OpenLayers (8226b16), closes #363
10.0.4 (2024-08-01)
10.0.3 (2024-08-01)
10.0.2 (2024-07-07)
- ol-interaction-draw: emit events on changed geometry (0363578), closes #361
- ol-source-vector: handle correct event
addfeature
(777d4ab), closes #362 - ol-source-xyz: watch for changed props (a9a1c99), closes #359
10.0.1 (2024-06-10)
- ol-source-vector: call refresh() after url changes (479d765), closes #357
- ol-webgl-vector-layer: call make properties reactive (3e77dfe), closes #355
10.0.0 (2024-05-22)
- update falsy values "0", "false" and "null" (b39d0c6)
- composables: rename composable
useLayerInMapOrLayerGroup
intouseLayer
(3a7835c) - ol-source-*: move common setup into
useSource
composable (56b386d), closes #354
- ol-layer-*: support common events on components (69b37c9)
- composables: The composable
useLayerInMapOrLayerGroup
was renamed touseLayer
- ol-source-*: The created Source class from the corresponding OpenLayers source isn't wrapped in a computed anymore but in a shallowRef. This will improve the performance and prevent unneeded re-computations.
Also, the provided
imageLayer
references is now wrapped in aRef
which will make it reactive: In case the layer changes, the source is updated and applied to the changed layers reference. This behavior was already default for all layer types:-const layer = inject<ImageLayer<Static> | null>("imageLayer"); +const layer = inject<Ref<ImageLayer<Static>> | null>("imageLayer");
9.0.3 (2024-05-19)
9.0.2 (2024-05-19)
- ol-overlay: set correct default classNames
ol-overlay-container ol-selectable
(e2ea186), closes #352
9.0.1 (2024-05-17)
9.0.0 (2024-05-12)
- ol-overlay: set correct default values as described in the docs (2e9e2a6), closes #346
- ol-source-wmts: add missing optional
tileGrid
prop (1237fe1) - ol-vector-layer: watch opacity / visible changes (e9ae6fa), closes #347
- ol-layer-*: push layer to correct collection based on parent component injection (ee46969), closes #344 #344
- ol-layer-*: These changes may not affect you directly. Previously, for some layer types, a layer was always added to the map, even if the layer component was used within a LayerGroup. This resulted in layers existing multiple times (in the LayerGroup and at the top level (Reported in #344)). Due to the refactoring, all layers are now treated the same (with onMounted and when changing layer properties).
1.) If the layer component is within an
ol-layer-group
, it is added to the group. 2.) If the layer component is inside anol-overviewmap-control
, it is added to the OverviewMap 3.) If 1) and 2) do not apply, the layer component is added directly to the map
8.1.0 (2024-04-27)
- add missing types for FlatStyleLike (e930496), closes #332
- ol-contextmenu-control: use partial options (cbc13da)
- prevent providing ol-options multiple times (0f138d1), closes #338
- export composables (73c442f)
- ol-interaction-pointer: add new pointer interaction (ab675b2), closes #339
- ol-style-icon: allow to place icon content in slot (65d970a), closes #295
8.0.0 (2024-04-18)
- rename components (ea85a6e)
- support PascalCase component usage for global plugin installations (861f3ea)
- Several components have been renamed. Adjustments are only necessary when not consuming these components as a plugin but directly. When using a plugin for global component availability, nothing has been changed. This change was necessary to align the names of directly importable and usable components with the global names provided by the plugins.
<Animations.OLAnimationDrop>
was renamed to<Animations.OlAnimationDrop>
<Interaction.OlClusterSelectInteraction>
was renamed to<Interaction.OlInteractionClusterselect>
<Interaction.OlDragBoxInteraction>
was renamed to<Interaction.OlInteractionDragbox>
<Interaction.OlDragRotateInteraction>
was renamed to<Interaction.OlInteractionDragrotate>
<Interaction.OlDragRotateZoomInteraction>
was renamed to<Interaction.OlInteractionDragrotatezoom>
<Interaction.OlLinktInteraction>
was renamed to<Interaction.OlInteractionLink>
<Interaction.OlSelectInteraction>
was renamed to<Interaction.OlInteractionSelect>
<Interaction.OlDrawInteraction>
was renamed to<Interaction.OlInteractionDraw>
<Interaction.OlModifyInteraction>
was renamed to<Interaction.OlInteractionModify>
<Interaction.OlSnapInteraction>
was renamed to<Interaction.OlInteractionSnap>
<Interaction.OlTransformInteraction>
was renamed to<Interaction.OlInteractionTransform>
<Layers.OlAnimatedClusterLayer>
was renamed to<Layers.OlAnimatedClusterlayer>
<Map.OlGeoLocation>
was renamed to<Map.OlGeolocation>
<MapControls.OlFullScreenControl>
was renamed to<MapControls.OlFullscreenControl>
<MapControls.OlMousePositionControl>
was renamed to<MapControls.OlMousepositionControl>
<MapControls.OlOverviewMapControl>
was renamed to<MapControls.OlOverviewmapControl>
<MapControls.OlScaleLineControl>
was renamed to<MapControls.OlScalelineControl>
<MapControls.OlZoomSliderControl>
was renamed to<MapControls.OlZoomsliderControl>
<MapControls.OlZoomToExtentControl>
was renamed to<MapControls.OlZoomtoextentControl>
<MapControls.OlPrintDialogControl>
was renamed to<MapControls.OlPrintdialogControl>
<MapControls.OlVideoRecorderControl>
was renamed to<MapControls.OlVideorecorderControl>
<MapControls.OlLayerSwitcherControl>
was renamed to<MapControls.OlLayerswitcherControl>
<MapControls.OlLayerSwitcherImageControl>
was renamed to<MapControls.OlLayerswitcherimageControl>
<Sources.OlSourceBingMaps>
was renamed to<Sources.OlSourceBingmaps>
<Sources.OlSourceImageWMS>
was renamed to<Sources.OlSourceImageWms>
<Sources.OlSourceOSM>
was renamed to<Sources.OlSourceOsm>
<Sources.OlSourceTileArcGISRest>
was renamed to<Sources.OlSourceTileArcgisRest>
<Sources.OlSourceGeoTIFF>
was renamed to<Sources.OlSourceGeoTiff>
<Sources.OlSourceTileJSON>
was renamed to<Sources.OlSourceTileJson>
<Sources.OlSourceTileWMS>
was renamed to<Sources.OlSourceTileWms>
<Sources.OlSourceXYZ>
was renamed to<Sources.OlSourceXyz>
<Sources.OlSourceWMTS>
was renamed to<Sources.OlSourceWmts>
7.0.0 (2024-04-13)
- ol-*-control: make sure control is updated on property changes (507220d)
- ol-map: use correct typings for exposed function
forEachFeatureAtPixel
(8db77a0) - ol-webgl-vector-layer: pass internal
style
prop tostyles
(e3baa82)
- set minimum peerDependency of OpenLayers to version 9.1.0 (77e022b)
- set minimum peerDependency of vue to version 3.4.15 (cc35ae8)
- ol-animation-feature: remove unused exported component
ol-animation-feature
(4190325)
- allow to define global options for child plugins and via
provide
(55f4c1f)
- prevent watching reactive props continously (7e13440)
- ol-animation-feature: The component
ol-animation-feature
was simply exposing the map, vectorLayer and it's passed properties. There was no need to use this component at all and therefore it has been removed. However, when the component was used in the past, make sure to remove it from your template and move theref
's for map and the layer to the correct components. - The minimum version of Vue is now 3.4.15 (
npm i vue@^3.4.15
) - The minimum version of OpenLayers is now 9.1.0 (
npm i ol@^9.1.0
) - the composable
usePropsAsObjectProperties
which is used as foundation in all components has been refactored. Props were watched always deeply and for lot's of components this was done multiple times since the components implement watchers by themselves. However, even if not expected, this may cause some side effects with reactive changes which must be applied for individual components when not implemented and therefore considered as a breaking change. Please check your app carefully when updating to the new major version.
7.0.0-1 (2024-04-12)
- set minimum peerDependency of OpenLayers to version 9.1.0 (8ae195c)
- set minimum peerDependency of vue to version 3.4.15 (158f00e)
- ol-animation-feature: remove unused exported component
ol-animation-feature
(90f082a)
- prevent watching reactive props continously (45f9326)
- ol-animation-feature: The component
ol-animation-feature
was simply exposing the map, vectorLayer and it's passed properties. There was no need to use this component at all and therefore it has been removed. However, when the component was used in the past, make sure to remove it from your template and move theref
's for map and the layer to the correct components. - The minimum version of Vue is now 3.4.15 (
npm i vue@^3.4.15
) - The minimum version of OpenLayers is now 9.1.0 (
npm i ol@^9.1.0
) - the composable
usePropsAsObjectProperties
which is used as foundation in all components has been refactored. Props were watched always deeply and for lot's of components this was done multiple times since the components implement watchers by themselves. However, even if not expected, this may cause some side effects with reactive changes which must be applied for individual components when not implemented and therefore considered as a breaking change. Please check your app carefully when updating to the new major version.
7.0.0-0 (2024-04-11)
- prevent watching reactive props continously (14af7e0)
- the composable
usePropsAsObjectProperties
which is used as foundation in all components has been refactored. Props were watched always deeply and for lot's of components this was done multiple times since the components implement watchers by themselves. However, even if not expected, this may cause some side effects with reactive changes which must be applied for individual components when not implemented and therefore considered as a breaking change. Please check your app carefully when updating to the new major version.
6.5.0 (2024-04-05)
- add loading class and document how to show loading spinner (0ada740)
- ol-interaction-link: add interaction for sync with URL query params (4fdd742)
6.4.1 (2024-04-03)
6.4.0 (2024-04-03)
6.3.2 (2024-03-31)
- ol-animated-cluster-layer: prevent re-computation of cluster and layer in property changes (c00d992)
- ol-source-vector: make property changes reactive (b476468)
6.3.1 (2024-03-30)
- ol-heatmap-layer: handle property updates correctly (e5bb81e)
- ol-layer-group: handle property updates correctly (50462ec)
6.3.0 (2024-03-25)
- ol-overlay: prevent re-compute overlay, use shallowRef instead and watch property changes (b1bb37e), closes #257
- ol-interaction-dragbox: add DragBox component wrapper (3eb1fff), closes #307
- ol-vector-layer: add
background
property (f51cd25)
6.2.1 (2024-03-25)
6.2.0 (2024-03-22)
- deps: use compatible dependencies for vitest and coverage (69221e7)
6.1.2 (2024-03-16)
6.1.1 (2024-03-14)
6.1.0 (2024-03-07)
6.0.1 (2024-03-07)
- demo: use valid TileJSON URL (df53716)
- ol-source-vector: prevent frequent source re-creation (9bb8777), closes #297
- return style in overrideStyleFunction (838d5e3)
6.0.0 (2024-03-06)
- remove
ol-source-webglvector
component (0930c70)
ol-source-webglvector
has been removed in favor ofol-source-vector
component. Useol-source-vector
from now on.
5.0.0 (2024-03-06)
- update to OpenLayers@v9 (d440029)
- remove
ol-webgl-points-layer
andol-source-webglpoints
components (61950aa)
- a peerDependency of
ol@^9.0.0
andol-ext@^4.0.15
is now required - components
ol-webgl-points-layer
andol-source-webglpoints
are removed. Please useol-webgl-vector-layer
andol-source-vector
to display points using WebGL
4.1.0 (2024-03-06)
4.0.2 (2024-01-23)
- vite: styles export (8eb3559)
4.0.1 (2023-12-18)
- ol-image-layer: correctly access and provide layer (3e509db)
- ol-webgl-tile-layer: pass correct defaults (994d1b0)
4.0.0 (2023-12-17)
- update dependencies and peerDependency list (3e9b311)
-
- Drop support for Node.js Versions 16
- requires a peer dependency of
ol@^8.2.0
- requires a peer dependency of
ol-ext@^4.0.13
- ol-style-icon:
ol-style-icon
: the propertyscale
has no longer a default of1
. Please pass a value of one explicitly if needed. The change was needed since the underlying OpenLayers lib want's to either have ascale
defined orwidth
/height
. Before it wasn't possible to define an icon bywidth
/height
since thescale
was set by default. - OlSourceTianditu: - renamed
OlSourceTianDiTu
toOlSourceTianditu
3.2.1 (2023-12-17)
3.2.0 (2023-12-03)
3.1.0 (2023-11-08)
3.0.0 (2023-10-26)
- add provided for external module for GeoTIFF and OverviewMap (ac39fb2)
- ol-view: re-enable rotation (57c9a95)
- demo: use scoped styles and cleanup unused styles (3d7fba4)
- ol-overviewmap-control: adopt OpenLayers API and fix layers rendering (fd82d1a)
- ol-webgl-tile-layer: adopt OpenLayers API and fix layers rendering (4d44b21)
- ol-vector-tile-layers: add support for
renderMode
property (116b576), closes #263 - ol-source-geo-tiff: add new source for GeoTIFF (78dc2c6)
- ol-animated-clusterlayer: emit all Cluster events (0867d4b)
- ol-videorecorder-control: pass-through all props and events from
ol-ext
(fb99807) - ol-map: feat(ol-map) support all Map events from OpenLayers on component. Newly supported events are:
change:size
change:target
change:view
rendercomplete
Please refer to the OpenLayers docs
- ol-videorecorder-control: pass-through all props and events from
ol-ext
- if not
downloadName
is set, the file will not be downloaded but thestop
event is fired with the blob data/url. - all events are now fired. In addition to the already existing
start
andstop
event, you can now also react to thepause
andresume
event - docs has been updated
- if not
- ol-webgl-tile-layer: use props and default values from openlayers directly
- ol-overviewmap-control: use props and default values from openlayers directly. render component from slot in overview map
ol-overlay
all properties are now passed-trough from OpenLayers directly. Their types and default values can be checked-out in the official OpenLayers docs. Potentially this hasn't changed anything yet, but it can in the future, if OpenLayers changes it's APIol-overlay
all events are now fired at component level as defined in OpenLayers. Details:elementChanged
is now emitted aschange:element
offsetChanged
is now emitted aschange:offset
positionChanged
is now emitted aschange:position
positioningChanged
is now emitted aschange:positioning
ol-view
: propertycenter
's default value has been removed (it was set[0, 0]
) before. Now all default values from OpenLayers are used directlyol-view
: All Events from OpenLayers are emitted as component events directly now. Please change:resolutionChanged
tochange:resolution
rotationChanged
tochange:rotation
rotationChanged
tochange:rotation
centerChanged
tochange:center
zoomChanged
event has been dropped. Please usechange:center
orchange:resolution
instead
ol-map
: properties with default values are now aligned with all default values from OpenLayers
3.0.0-3 (2023-09-24)
- ol-overviewmap-control: adopt OpenLayers API and fix layers rendering (fd82d1a)
- ol-webgl-tile-layer: adopt OpenLayers API and fix layers rendering (4d44b21)
- ol-source-geo-tiff: add new source for GeoTIFF (78dc2c6)
- ol-webgl-tile-layer: use props and default values from openlayers directly
- ol-overviewmap-control: use props and default values from openlayers directly. render component from slot in overview map
3.0.0-2 (2023-09-22)
- ol-view: re-enable rotation (57c9a95)
3.0.0-1 (2023-09-20)
- ol-animated-clusterlayer: emit all Cluster events (0867d4b)
3.0.0-0 (2023-09-20)
- demo: use scoped styles and cleanup unused styles (3d7fba4)
- ol-videorecorder-control: pass-through all props and events from
ol-ext
(fb99807) - ol-map: feat(ol-map) support all Map events from OpenLayers on component. Newly supported events are:
change:size
change:target
change:view
rendercomplete
Please refer to the OpenLayers docs
- ol-videorecorder-control: pass-through all props and events from
ol-ext
- if not
downloadName
is set, the file will not be downloaded but thestop
event is fired with the blob data/url. - all events are now fired. In addition to the already existing
start
andstop
event, you can now also react to thepause
andresume
event - docs has been updated
- if not
ol-overlay
all properties are now passed-trough from OpenLayers directly. Their types and default values can be checked-out in the official OpenLayers docs. Potentially this hasn't changed anything yet, but it can in the future, if OpenLayers changes it's APIol-overlay
all events are now fired at component level as defined in OpenLayers. Details:elementChanged
is now emitted aschange:element
offsetChanged
is now emitted aschange:offset
positionChanged
is now emitted aschange:position
positioningChanged
is now emitted aschange:positioning
ol-view
: propertycenter
's default value has been removed (it was set[0, 0]
) before. Now all default values from OpenLayers are used directlyol-view
: All Events from OpenLayers are emitted as component events directly now. Please change:resolutionChanged
tochange:resolution
rotationChanged
tochange:rotation
rotationChanged
tochange:rotation
centerChanged
tochange:center
zoomChanged
event has been dropped. Please usechange:center
orchange:resolution
instead
ol-map
: properties with default values are now aligned with all default values from OpenLayers
2.0.0 (2023-09-14)
- allow multiple plugin installation (#247) (9a3b133)
- allow using controls as childs of bar (#248) (8d59c76)
- correctly remove controls onUnmounted (3756fbb), closes #246
- update dependency to openlayers 8.0.0 (a76dd57)
- ol-source-stadia-maps: replace old ol-stamen component (ff9e373)
- ol-style-icon: pass-through properties from OpenLayers (84232e9)
- ol-webgl-points-layer: use new flat style format (02b8d1f)
- ol-webgl-points-layer: use the new introduced flat format from OpenLayers 8
- ol-style-icon: properties are passed-through from OpenLayers directly and property
imgSize
has been removed since it's removed from OpenLayers 8 - ol-source-stadia-maps: The new component
ol-source-stadia-maps
replaced the oldol-source-stamen
component. Please checkout the official OpenLayers 8 release notes for further information. - You need to have a peerDependency of
ol
>=8.0.0
installed
1.3.0 (2023-09-14)
- allow multiple plugin installation (#247) (edbbdc3)
- allow using controls as childs of bar (#248) (9bc69cd)
2.0.0-1 (2023-09-08)
2.0.0-0 (2023-09-04)
- update dependency to openlayers 8.0.0 (a76dd57)
- ol-source-stadia-maps: replace old ol-stamen component (ff9e373)
- ol-style-icon: pass-through properties from OpenLayers (84232e9)
- ol-webgl-points-layer: use new flat style format (02b8d1f)
- ol-webgl-points-layer: use the new introduced flat format from OpenLayers 8
- ol-style-icon: properties are passed-through from OpenLayers directly and property
imgSize
has been removed since it's removed from OpenLayers 8 - ol-source-stadia-maps: The new component
ol-source-stadia-maps
replaced the oldol-source-stamen
component. Please checkout the official OpenLayers 8 release notes for further information. - You need to have a peerDependency of
ol
>=8.0.0
installed
1.2.1 (2023-09-01)
- remove exported non-existing function forEachLayerAtPixel (27da611)
- remove incompatible props and exposed functions (81c6d00), closes #231
1.2.0 (2023-07-26)
1.1.0 (2023-07-25)
- chore(maintenance): update dependencies (258e396)
- docs(ol-map): add documentation for prop (b54312c)
- fix(ol-feature): prevent unresponsive map lag (989bc90)
- fix(ol-zone-control): define props with default values as optional (8275202)
- docs(ol-interaction-snap): add demo case for draw interaction (e588a5f)
- Update animatedclusterlayer, improve wording and fluency of explanation (#226) (3191963)
- docs(ol-geolocation): display icon position correctly (6ae205b)
- feat(ol-style-text): added backgroundFill and backgroundStroke props (#223) (6f521c9)
1.0.1 (2023-07-18)
- chore: disable eslint for process access in version script (78455b0)
- docs: add note for output.globals (c4c6d0f)
- fix(build): update vite-plugin-dts and configure output.globals (#218) (fe739c4)
- refactor(ol-view): use ViewOptions interface and remove unneeded composable (5d139eb)
- refactor: remove unused useLayerControl (3ea0a99)
- fix(ol-geolocation): prevent Extraneous non-emits event listeners warning (11c14f1)
- docs: describe how to access ol/Map (5ab6231)
- docs: updated contribution guidelines (0c38dc3)
- docs: update getting started (65fed43)
- chore: update ISSUE_TEMPLATE (a0cf678)
- docs: update requirements automatically (cdbd12f)
- docs: replace 'Openlayers' with 'OpenLayers' (bd59efc)
1.0.0 (2023-07-11)
Version 1.0.0
was completely refactored and aligned with the features and also BREAKING CHANGES from OpenLayers 7.x.x.
Please be sure to checkout the Changelog of OpenLayers as well.
Properties are mostly reflected 1:1 from OpenLayers as Component Properties for the related vue3-openlayers
components. The same applies for the default values. Deviating properties with their values and description are listed in the documentation for each component.
Summary (compared to version 0.5.1
)
- 🛠️ migrated all components and features to TypeScript
- 👩🏻🔧 migrated all components to use
<script setup>
syntax - 🗺️ aligned API with OpenLayers 7.4.0
- 📘 updated & restructured the whole documentation
- 🧩 added new components:
ol-layer-group
,ol-source-tile-json
,ol-source-stadia-maps
andol-vector-image-layer
- 🚀 expose all interactions to be able to call access them via
ref
in templates - 🐞 lot's of bug fixes
- 📖 improved the documentation
- ✨ better types for improved developer experience
Please be sure to install the following peerDependencies in your project:
"ol": "^7.4.0",
"ol-contextmenu": "^5.2.1",
"ol-ext": "^4.0.8"
general: dropped support for Openlayers 6 and below. Please use Openlayers 7.x.x
general: lot's of property types have been updated to match with the types in Openlayers. This may lead to TypeScript issues that must be fixed. Please have a look at all Changelog notes from the alpha and next releases before.
ol-geolocation: pass-through original events from Openlayers directly and remove legacy events
The following events are not emitted anymore and replaced with the events from Openlayers.
All new events receive a generic ObjectEvent
.
This means, changing only the event name in your templates isn't enough, you must adopt the implementations of the handler functions, so the will receive an ObjectEvent
as first parameter.
positionChanged
->change:position
speedChanged
->change:speed
headingChanged
->change:heading
altitudeChanged
->change:altitude
altitudeAccuracyChanged
->change:altitudeAccuracy
accuracyGeometryChanged
->change:accuracyGeometry
Please refer to the official Openlayers docs for Geolocation for details of the emitted event data format.
Special thanks goes to:
- @MelihAltintas for creating this awesome project, making it open source and enable other maintainers (like @d-koppenhagen) to improve it
- @mathiash98 for digging deep into the code and fixing tricky issues like #128 and #175
- @209, for the time invested and the laborious migration of the code base (PR #149 was the basis for all the related commits)
- @lukas-zaugg and @pjreed for other important bug fixes and new features
- all other people who were not mentioned here but who also contributed to version 1.0.0 with their questions and issues 🙌🏼