v7.2.0
版本发布时间: 2022-12-21 23:10:36
openlayers/openlayers最新发布版本:v10.2.1(2024-09-27 04:27:34)
The 7.2 release includes …
- …some new features (e.g. for icon styling),
- …performance optimisations (e.g. for canvas rendering),
- …better interoperability (e.g. OGC API - Tiles support, saner projection-handling for GeoTIFFs and a new PMTiles example),
- …the usual smaller bugfixes, and
- …a lot of dependency updates.
Please find below four aspects of this release that we want to highlight and make sure to scan over the full list of included changes (even further below).
OGC vector and map tile sources are now a stable part of the API
The OGC API – Tiles core v1 spec has been published, and as a consequence we marked the long existing vector and map tile sources as part of the stable API.
Introduce width
and height
configuration options to Icon
styles
It is now possible to create an icon symbolizer with an explicit width
and/or height
, e.g.:
const myIcon = new Icon({
src: 'data/icon.png',
width: 32,
height: 32
});
This is an additional configuration option to make working with image icons easier.
Rendered resolutions of ol/source/Raster
Previously, ol/source/Raster
processed input sources at the current view resolution, which caused interpolation artefacts in cases where input sources were up- or downsampled. Now, ol/source/Raster
picks up the resolutions from the first input source that has resolutions configured (either implicitly through a tile grid in the case of tile sources, or directly when configured through the resolutions
constructor option). This improves the rendered output in most cases.
If the previous behavior is desired, configure the source with resolutions: null
.
Fixed wrapX
behavior of ol/control/MousePosition
Previously, ol/control/MousePosition
always displayed coordinates as-is. Now it has a wrapX
option,
which is true
by default. This avoids longitudes aoutside the -180 to 180 degrees range.
If you want the previous behavior, which displays coordinates with longitudes less than -180 or greater than 180, configure the control with wrapX: false
.
List of all changes
See below for a complete list of features and fixes.
- Fix types and docs for GeolocationError (by @ahocevar in https://github.com/openlayers/openlayers/pull/14395)
- Introduce
width
andheight
to Icon style (by @KaiVolland in https://github.com/openlayers/openlayers/pull/14364) - Fix typo in Helper.js & inconsistency in ShaderBuilder.js comment. (by @Tomcariello in https://github.com/openlayers/openlayers/pull/14368)
- Rendering tests instead of unit tests for MapboxVector layer background (by @openlayers in https://github.com/openlayers/openlayers/pull/14355)
- Mark OGC tile sources as stable (by @tschaub in https://github.com/openlayers/openlayers/pull/14354)
- Calculate snap tolerance extent allowing for rotation (by @mike-000 in https://github.com/openlayers/openlayers/pull/14344)
- Updated extensions for Stamen tiles (by @tschaub in https://github.com/openlayers/openlayers/pull/14347)
- Convert closest point on geometry edge to user coordinates for snap (by @mike-000 in https://github.com/openlayers/openlayers/pull/14349)
- Fix immediate renderer image and text rotation in rotated canvas (by @mike-000 in https://github.com/openlayers/openlayers/pull/14333)
- Consider rotation when obtaining vector context pixel ratio (by @mike-000 in https://github.com/openlayers/openlayers/pull/14332)
- Update ArcGIS REST Feature Service example (by @mike-000 in https://github.com/openlayers/openlayers/pull/14296)
- Assign variable to work around swc minification problem (by @openlayers in https://github.com/openlayers/openlayers/pull/14320)
- Support better detection of projection in GeoTIFF files (by @ahocevar in https://github.com/openlayers/openlayers/pull/14321)
- Use ResizeObserver to detect resizes, also when in Shadow DOM (by @ahocevar in https://github.com/openlayers/openlayers/pull/14305)
- Ensure
change:position
event is fired if identify transform used (by @mike-000 in https://github.com/openlayers/openlayers/pull/14319) - Rename numberSafeCompareFunction to ascending (by @tschaub in https://github.com/openlayers/openlayers/pull/14311)
- Change ela-compil url (by @fredj in https://github.com/openlayers/openlayers/pull/14301)
- Update sponsors (by @ahocevar in https://github.com/openlayers/openlayers/pull/14293)
- Remove unused arguments (by @ahocevar in https://github.com/openlayers/openlayers/pull/14292)
- Also set version in full build (by @openlayers in https://github.com/openlayers/openlayers/pull/14288)
- Update example showing COG with external overviews (by @tschaub in https://github.com/openlayers/openlayers/pull/14286)
- Add resolutions option to Raster source (by @ahocevar in https://github.com/openlayers/openlayers/pull/14282)
- Handle layers that do not have a source yet (by @openlayers in https://github.com/openlayers/openlayers/pull/14280)
- Remove Babel (by @tschaub in https://github.com/openlayers/openlayers/pull/14279)
- Configurable log level (by @tschaub in https://github.com/openlayers/openlayers/pull/14278)
- Update geotiff to v2.0.7 (by @ahocevar in https://github.com/openlayers/openlayers/pull/14257)
- Include file extensions in examples and docs (by @tschaub in https://github.com/openlayers/openlayers/pull/14263)
- Avoid creating tiles with one row each (by @tschaub in https://github.com/openlayers/openlayers/pull/14260)
- Add support for images in data tiles (by @tschaub in https://github.com/openlayers/openlayers/pull/14258)
- Add a PMTiles example (by @tschaub in https://github.com/openlayers/openlayers/pull/14256)
- Update more COG paths (by @mike-000 in https://github.com/openlayers/openlayers/pull/14252)
- Update ArcGIS MapServer examples service url (by @mike-000 in https://github.com/openlayers/openlayers/pull/14251)
- Use wkt definitions in EPSG.io Search example (by @mike-000 in https://github.com/openlayers/openlayers/pull/14239)
- Update COG path (by @mike-000 in https://github.com/openlayers/openlayers/pull/14236)
- Add wrapX support to the MousePosition control (by @openlayers in https://github.com/openlayers/openlayers/pull/14232)
- Minor fixes to ReprojDataTile tests (by @mike-000 in https://github.com/openlayers/openlayers/pull/14217)
- Pass transition option along to reproj data tile (by @tschaub in https://github.com/openlayers/openlayers/pull/14216)
- Set willReadFrequently option on
ol/source/Raster
shared context (by @mike-000 in https://github.com/openlayers/openlayers/pull/14215) - Do not use .getImageData where .createImageData can be used (by @mike-000 in https://github.com/openlayers/openlayers/pull/14213)
- Set willReadFrequently option on pixel contexts (by @ahocevar in https://github.com/openlayers/openlayers/pull/14204)
- Create hit and taint detection canvas with willReadFrequently set to true (by @ahocevar in https://github.com/openlayers/openlayers/pull/14203)
- Use jsdelivr instead of unpkg (by @openlayers in https://github.com/openlayers/openlayers/pull/14200)
- Take scale transform into account for viewport pixels (by @ahocevar in https://github.com/openlayers/openlayers/pull/14199)
- Typo were => where (by @nboisteault in https://github.com/openlayers/openlayers/pull/14197)
- RenderFeature cannot be modified (by @MoonE in https://github.com/openlayers/openlayers/pull/14194)
- Typo (by @JakobMiksch in https://github.com/openlayers/openlayers/pull/14195)
- Translate interaction can't work with RenderFeature (by @MoonE in https://github.com/openlayers/openlayers/pull/14172)
- Only TileImage as ReprojTile source tile type (by @MoonE in https://github.com/openlayers/openlayers/pull/14173)
- Correct return type for ol/layer/VectorTile~getFeatures() (by @MoonE in https://github.com/openlayers/openlayers/pull/14165)
- Use arrow functions instead of binding anonymous functions (by @tschaub in https://github.com/openlayers/openlayers/pull/14170)
- Fix if condition in clusters-dynamic example (by @ahocevar in https://github.com/openlayers/openlayers/pull/14150)
- hitdetect GeometryCollection (by @MoonE in https://github.com/openlayers/openlayers/pull/14138)
- Make track properties in Link interaction configurable (by @ahocevar in https://github.com/openlayers/openlayers/pull/14126)
- Add a sourceready event to layers (by @tschaub in https://github.com/openlayers/openlayers/pull/14124)
- Add support for fetching proj4 definitions from epsg.io (by @tschaub in https://github.com/openlayers/openlayers/pull/14122)
- Avoid the redirect to the OL 2 page (by @tschaub in https://github.com/openlayers/openlayers/pull/14118)
- No else after return (by @tschaub in https://github.com/openlayers/openlayers/pull/14103)
- Fix WMTS source key (by @ahocevar in https://github.com/openlayers/openlayers/pull/14100)
- Reproject DataTiles (by @mike-000 in https://github.com/openlayers/openlayers/pull/13654)
- Updates for ol-mapbox-style v9.2 (by @ahocevar in https://github.com/openlayers/openlayers/pull/14086)
- Add version dropdown for API link (by @KaiVolland in https://github.com/openlayers/openlayers/pull/14085)
- Updates for the 7.1.0 release (by @openlayers in https://github.com/openlayers/openlayers/pull/14082)
Dependency Updates
- Bump @metalsmith/markdown from 1.6.0 to 1.8.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14386)
- Bump globby from 13.1.2 to 13.1.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14382)
- Bump eslint from 8.29.0 to 8.30.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14388)
- Bump puppeteer from 19.4.0 to 19.4.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14387)
- Bump jquery from 3.6.1 to 3.6.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14385)
- Bump sinon from 15.0.0 to 15.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14384)
- Bump @rollup/plugin-commonjs from 23.0.4 to 24.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14383)
- Bump marked from 4.2.3 to 4.2.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14372)
- Bump webpack-cli from 5.0.0 to 5.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14375)
- Bump typescript from 4.9.3 to 4.9.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14374)
- Bump puppeteer from 19.3.0 to 19.4.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14373)
- Bump @rollup/plugin-commonjs from 23.0.3 to 23.0.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14371)
- Bump mocha from 10.1.0 to 10.2.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14370)
- Bump sinon from 14.0.2 to 15.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14360)
- Bump ol-mapbox-style from 9.2.3 to 9.2.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14362)
- Bump eslint from 8.28.0 to 8.29.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14361)
- Bump fs-extra from 10.1.0 to 11.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14359)
- Bump webpack-dev-middleware from 6.0.0 to 6.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14358)
- Bump ol-mapbox-style from 9.2.1 to 9.2.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14342)
- Bump puppeteer from 19.2.2 to 19.3.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14341)
- Bump @rollup/plugin-commonjs from 23.0.2 to 23.0.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14340)
- Bump rollup-plugin-external-globals from 0.6.1 to 0.7.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14338)
- Bump typescript from 4.8.4 to 4.9.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14324)
- Bump engine.io and socket.io (by @openlayers in https://github.com/openlayers/openlayers/pull/14331)
- Bump webpack-cli from 4.10.0 to 5.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14326)
- Bump marked from 4.2.2 to 4.2.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14323)
- Bump webpack-dev-middleware from 5.3.3 to 6.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14328)
- Bump ol-mapbox-style from 9.2.0 to 9.2.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14327)
- Bump eslint from 8.27.0 to 8.28.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14325)
- Bump loader-utils from 2.0.3 to 2.0.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14315)
- Bump webpack from 5.74.0 to 5.75.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14298)
- Bump sinon from 14.0.1 to 14.0.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14297)
- Bump puppeteer from 19.1.0 to 19.2.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14273)
- Bump jsdoc from 3.6.11 to 4.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14275)
- Bump @babel/preset-env from 7.19.4 to 7.20.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14274)
- Bump @babel/core from 7.19.6 to 7.20.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14271)
- Bump yargs from 17.6.0 to 17.6.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14270)
- Bump marked from 4.1.1 to 4.2.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14272)
- Bump eslint from 8.26.0 to 8.27.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14268)
- Bump @rollup/plugin-commonjs from 23.0.0 to 23.0.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14230)
- Bump @babel/core from 7.19.3 to 7.19.6 (by @openlayers in https://github.com/openlayers/openlayers/pull/14229)
- Bump @rollup/plugin-babel from 6.0.0 to 6.0.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14228)
- Bump @rollup/plugin-node-resolve from 15.0.0 to 15.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14227)
- Bump puppeteer from 19.0.0 to 19.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14226)
- Bump eslint from 8.25.0 to 8.26.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14225)
- Bump @octokit/rest from 19.0.4 to 19.0.5 (by @openlayers in https://github.com/openlayers/openlayers/pull/14211)
- Bump @rollup/plugin-node-resolve from 14.1.0 to 15.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14210)
- Bump @babel/preset-env from 7.19.3 to 7.19.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14209)
- Bump puppeteer from 18.2.1 to 19.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14208)
- Bump mocha from 10.0.0 to 10.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14207)
- Bump @rollup/plugin-babel from 5.3.1 to 6.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14190)
- Bump semver from 7.3.7 to 7.3.8 (by @openlayers in https://github.com/openlayers/openlayers/pull/14191)
- Bump source-map-loader from 4.0.0 to 4.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14189)
- Bump express from 4.18.1 to 4.18.2 (by @openlayers in https://github.com/openlayers/openlayers/pull/14188)
- Bump puppeteer from 18.0.5 to 18.2.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14187)
- Bump @rollup/plugin-commonjs from 22.0.2 to 23.0.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14186)
- Bump eslint from 8.24.0 to 8.25.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14185)
- Bump metalsmith from 2.5.0 to 2.5.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14184)
- Bump sinon from 14.0.0 to 14.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14183)
- Bump @babel/core from 7.19.1 to 7.19.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14159)
- Bump marked from 4.1.0 to 4.1.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14158)
- Bump typescript from 4.8.3 to 4.8.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/14160)
- Bump @babel/preset-env from 7.19.1 to 7.19.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14161)
- Bump yargs from 17.5.1 to 17.6.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14162)
- Bump rollup from 2.79.0 to 2.79.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14142)
- Bump webpack-dev-server from 4.11.0 to 4.11.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14145)
- Bump karma from 6.4.0 to 6.4.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14144)
- Bump eslint from 8.23.1 to 8.24.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14143)
- Bump puppeteer from 17.1.3 to 18.0.5 (by @openlayers in https://github.com/openlayers/openlayers/pull/14141)
- Bump @babel/core from 7.19.0 to 7.19.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14130)
- Bump @babel/preset-env from 7.19.0 to 7.19.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14131)
- Bump @rollup/plugin-node-resolve from 14.0.1 to 14.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14132)
- Bump @babel/preset-env from 7.18.10 to 7.19.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14107)
- Bump webpack-dev-server from 4.10.1 to 4.11.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14108)
- Bump puppeteer from 17.1.1 to 17.1.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14109)
- Bump eslint from 8.23.0 to 8.23.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14110)
- Bump @babel/core from 7.18.13 to 7.19.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14106)
- Bump @rollup/plugin-node-resolve from 13.3.0 to 14.0.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14105)
- Bump typescript from 4.8.2 to 4.8.3 (by @openlayers in https://github.com/openlayers/openlayers/pull/14111)
- Bump marked from 4.0.19 to 4.1.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14092)
- Bump webpack-dev-server from 4.10.0 to 4.10.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14089)
- Bump rollup from 2.78.1 to 2.79.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14090)
- Bump puppeteer from 17.0.0 to 17.1.1 (by @openlayers in https://github.com/openlayers/openlayers/pull/14093)
- Bump @metalsmith/layouts from 2.5.1 to 2.6.0 (by @openlayers in https://github.com/openlayers/openlayers/pull/14091)
- Bump earcut from 2.2.3 to 2.2.4 (by @openlayers in https://github.com/openlayers/openlayers/pull/13874)
New Contributors
- @nboisteault made their first contribution in https://github.com/openlayers/openlayers/pull/14197
- @Tomcariello made their first contribution in https://github.com/openlayers/openlayers/pull/14368
Full Changelog: https://github.com/openlayers/openlayers/compare/v7.1.0...v7.2.0
1、 v7.2.0-package.zip 1.29MB
2、 v7.2.0-site.zip 13.01MB