Compare commits

..

2415 Commits

Author SHA1 Message Date
Tim Schaub dec44a7202 6.0.0-beta.12 2019-08-06 23:49:25 -04:00
Tim Schaub 082e160212 Merge pull request #9824 from tschaub/zooms
Support zoom limits for layers
2019-08-06 21:32:26 -04:00
Tim Schaub 65ad4932f4 Support zoom limits for layers 2019-08-06 21:19:09 -04:00
Andreas Hocevar c767091faf Merge pull request #9816 from openlayers/greenkeeper/webpack-4.39.0
Update webpack to the latest version 🚀
2019-08-02 13:28:07 +02:00
greenkeeper[bot] d8aec039a9 chore(package): update webpack to version 4.39.0 2019-08-01 16:07:39 +00:00
Marc Jansen 230205c3fd Merge pull request #9804 from mike-000/9799
Replacement for the Shared Views example
2019-07-26 21:50:31 +02:00
mike-000 c66347c365 Update side-by-side.js 2019-07-26 16:31:20 +01:00
Frédéric Junod bf2a13138d Merge pull request #9803 from openlayers/mp_cleanup
Remove unused variable in MousePosition control
2019-07-26 15:52:09 +02:00
Andreas Hocevar 8f85b1ba23 Merge pull request #9802 from ahocevar/empty-image
Introduce EMPTY image state to deal with images outside the view extent
2019-07-26 15:35:30 +02:00
mike-000 576fc6a82e Update side-by-side.js 2019-07-26 14:23:49 +01:00
mike-000 1e1a6d0939 Update side-by-side.js 2019-07-26 14:17:42 +01:00
mike-000 8034b72231 Update side-by-side.html 2019-07-26 14:02:37 +01:00
Frederic Junod 2d2f4eb1a2 Remove unused variable in MousePosition control
`this.lastMouseMovePixel_` value is never read.
2019-07-26 14:54:14 +02:00
mike-000 ac9b435a74 Create side-by-side.js 2019-07-26 13:36:51 +01:00
mike-000 9946554575 Create side-by-side.css 2019-07-26 13:34:28 +01:00
mike-000 e6458222c1 Create side-by-side.html 2019-07-26 13:32:28 +01:00
ahocevar 62d8760420 Introduce EMPTY image state to deal with images outside the view extent 2019-07-26 13:47:35 +02:00
Frédéric Junod 1cc92b4751 Merge pull request #9801 from openlayers/greenkeeper/webpack-4.38.0
Update webpack to the latest version 🚀
2019-07-26 11:45:25 +02:00
greenkeeper[bot] 8bf0284443 chore(package): update webpack to version 4.38.0 2019-07-26 07:50:01 +00:00
Andreas Hocevar 17551d2f08 Merge pull request #9795 from openlayers/greenkeeper/webpack-4.37.0
Update webpack to the latest version 🚀
2019-07-24 01:37:38 +02:00
greenkeeper[bot] 3f47a7e7be chore(package): update webpack to version 4.37.0 2019-07-23 21:39:52 +02:00
Andreas Hocevar 0cc1166a2d Merge pull request #9797 from ahocevar/vectortile-false-positives
Avoid false positives for line and polygon hit detection
2019-07-23 21:32:22 +02:00
Marc Jansen 6d09acc0d3 Merge pull request #9794 from marcjansen/fix-lint
Fix linting error (import extension missing)
2019-07-23 20:10:22 +02:00
ahocevar ba9cdd3aa2 Fix rendering tests 2019-07-23 19:28:28 +02:00
ahocevar 387f797f23 Avoid false positives for line and polygon hit detection 2019-07-23 19:24:27 +02:00
Marc Jansen f6fba61b47 Fix linting error (import extension missing) 2019-07-23 11:52:31 +02:00
Marc Jansen 15cbd69457 Merge pull request #9792 from marcjansen/better-getgetlegendgraphicurl
Improve documentation of getGetLegendGraphicUrl
2019-07-23 11:38:32 +02:00
Andreas Hocevar 3dca01490f Merge pull request #9793 from openlayers/greenkeeper/puppeteer-1.19.0
Update puppeteer to the latest version 🚀
2019-07-23 10:18:25 +02:00
Marc Jansen b9c2ef389c Merge pull request #9375 from KaiVolland/reproj-rendering
Replaces reproj image.tests.js and tile.tests.js
2019-07-23 08:20:28 +02:00
greenkeeper[bot] 6000b296e2 chore(package): update puppeteer to version 1.19.0 2019-07-23 05:09:59 +00:00
Marc Jansen 2869ed245c Improve documentation of getGetLegendGraphicUrl
This also adresses one review comment by @jahow on #9762.
2019-07-22 17:02:30 +02:00
Marc Jansen 993bf0d2cb Merge pull request #9762 from KlausBenndorf/get-legend-request
Get legend request
2019-07-22 13:54:01 +02:00
Andreas Hocevar 2dda7127ed Merge pull request #9789 from ahocevar/decode-if-src-only
Use Image.prototype.decode only when src is already set
2019-07-22 09:18:56 +02:00
ahocevar 3cef9f2e00 Use Image.prototype.decode only when src is already set 2019-07-19 17:09:24 +02:00
Andreas Hocevar 6948bb7ebb Merge pull request #9778 from ahocevar/faster-getsourcetiles
Return existing source tiles if at target resolution
2019-07-19 16:55:25 +02:00
Frédéric Junod 7a0619447c Merge pull request #9787 from openlayers/greenkeeper/mocha-6.2.0
Update mocha to the latest version 🚀
2019-07-19 11:40:41 +02:00
greenkeeper[bot] 30925b4250 chore(package): update mocha to version 6.2.0 2019-07-18 22:39:09 +00:00
Andreas Hocevar f232622ad4 Merge pull request #9786 from openlayers/greenkeeper/webpack-4.36.1
chore(package): update webpack to version 4.36.1
2019-07-18 11:18:59 +02:00
greenkeeper[bot] 3a20993d1f chore(package): update webpack to version 4.36.1
Closes #9781
2019-07-17 14:16:32 +00:00
ahocevar 612dd6fe28 Return existing source tiles if at target resolution 2019-07-16 22:09:24 +02:00
Tim Schaub dc3ab508d4 Merge pull request #9622 from kekel87/master
Avoid mutating input in EsriJSON format
2019-07-15 14:35:58 -07:00
Andreas Hocevar ff063caa4e Merge pull request #9755 from ahocevar/font-loading
Font loading improvements
2019-07-15 12:21:28 +02:00
Olivier Guyot a629b7e5f2 Merge pull request #9767 from jahow/webgl-hit-retina
Fix hit detection for webgl layers on retina devices
2019-07-15 09:06:59 +02:00
Andreas Hocevar 99c920d393 Merge pull request #9774 from ahocevar/observable-properties-docs
Fix observable properties documentation
2019-07-15 00:46:53 +02:00
Tim Schaub 26950a2fca Merge pull request #9775 from openlayers/greenkeeper/jsdoc-3.6.3
Update jsdoc to the latest version 🚀
2019-07-14 11:11:46 -07:00
greenkeeper[bot] 5aabff5821 chore(package): update jsdoc to version 3.6.3 2019-07-14 17:36:55 +00:00
Michael Parry a8e31dddee FIx #9510: EsriJSON readGeometry should not mutate input 2019-07-14 18:56:49 +02:00
ahocevar b6bd35c15c Fix observable properties documentation 2019-07-14 10:15:00 +02:00
Frédéric Junod 5222a0ffd6 Merge pull request #9772 from openlayers/greenkeeper/karma-chrome-launcher-3.0.0
Update karma-chrome-launcher to the latest version 🚀
2019-07-13 08:42:57 +02:00
Frédéric Junod f43898bac1 Merge pull request #9769 from openlayers/greenkeeper/coveralls-3.0.5
Update coveralls to the latest version 🚀
2019-07-13 08:42:24 +02:00
Frédéric Junod dd683855f2 Merge pull request #9759 from openlayers/greenkeeper/marked-0.7.0
Update marked to the latest version 🚀
2019-07-13 08:41:54 +02:00
greenkeeper[bot] 6812e13490 chore(package): update karma-chrome-launcher to version 3.0.0 2019-07-12 23:38:02 +00:00
greenkeeper[bot] e8794e78a1 chore(package): update coveralls to version 3.0.5 2019-07-12 02:40:13 +00:00
Olivier Guyot 2f3e8d04f1 Webgl points / fix hit detection for retina devices 2019-07-11 00:05:55 +02:00
jahow a0ff08b734 Webgl points / improve tests
Now testing with two features and adding a call to `prepareFrame`
without which the final render transform was off.
Also added a test with a pixelratio > 1.
2019-07-11 00:05:55 +02:00
Andreas Hocevar 32325bc4ab Merge pull request #9763 from openlayers/greenkeeper/webpack-4.35.3
Update webpack to the latest version 🚀
2019-07-08 17:34:23 +02:00
greenkeeper[bot] 0ddc7da2f8 chore(package): update webpack to version 4.35.3 2019-07-08 14:33:48 +00:00
simonseyock c0000e745e make resolution in getGetLegendGraphicUrl optional 2019-07-08 15:14:13 +02:00
Kai Volland f493f01bd0 Introduces getGetLegendGraphic method
Adds the `getGetLegendGraphic` method to `ImageWMS` and `TileWMS` source.
Also adds an example and corresponding tests.
2019-07-08 15:14:13 +02:00
greenkeeper[bot] 22e1bb0e2f chore(package): update marked to version 0.7.0 2019-07-06 04:14:39 +00:00
Frédéric Junod 7e3ed92ba6 Merge pull request #9757 from fredj/canvas_types
Use CanvasLineJoin and CanvasLienCap types instead of string
2019-07-05 17:55:17 +02:00
Frederic Junod ad51c7c08f Use CanvasLineCap type instead of string 2019-07-05 11:11:35 +02:00
Frederic Junod 7a8a0c18ae Use CanvasLineJoin type instead of string 2019-07-05 11:07:10 +02:00
Frédéric Junod 5cff84522a Merge pull request #9745 from fredj/misc_webgl
Simplify heatmap's shaders
2019-07-05 08:27:08 +02:00
Frédéric Junod 562f14fc83 Merge pull request #9748 from fredj/rm_hit_transform
Remove hit detection transforms from ol/renderer/webgl/PointsLayer
2019-07-05 08:21:04 +02:00
Andreas Hocevar 79fc4bafe6 Merge pull request #9752 from mike-000/mike-000-9750
Custom Animation example and the multiWorld view constraint
2019-07-04 23:04:05 +02:00
ahocevar 4b48997a0b Check font style and weight in addition to family 2019-07-04 16:12:35 +02:00
ahocevar ab2d97d49b Don't give up too early when waiting for fonts 2019-07-04 16:11:39 +02:00
ahocevar 5616c535b0 Clean up properly when clearing label cache 2019-07-04 16:10:28 +02:00
ahocevar b4306da7bb Fix font comparison, less context.font operations 2019-07-04 16:06:13 +02:00
Frédéric Junod 32d1d9214c Merge pull request #9751 from logan-bounet/set-minarea-in-dragzoom
Add minArea typedef and ctor prop in DragZoom
2019-07-04 09:34:41 +02:00
mike-000 12d21689c6 Stop the default multiWorld constraint being applied on Custom Animation example
For zoom: 1 to be reached the default extent constraint must be removed by adding multiWorld: true
2019-07-03 17:36:07 +01:00
Logan BOUNET 87d80be915 Add minArea typedef and ctor prop in DragZoom 2019-07-03 10:29:13 -04:00
Frederic Junod 89295b0359 Remove hit detection transforms from ol/renderer/webgl/PointsLayer 2019-07-03 10:38:13 +02:00
Andreas Hocevar 621a573dd8 Merge pull request #9747 from ahocevar/format-setprojection-tilepixels-only
Set world projection only for tile-pixels units
2019-07-03 08:25:25 +02:00
Frederic Junod 73032db345 Remove unused 'v_screenCoord' from fragment shader 2019-07-03 08:16:37 +02:00
Tim Schaub 1f86818250 Merge pull request #9744 from openlayers/greenkeeper/webpack-4.35.2
chore(package): update webpack to version 4.35.2
2019-07-02 16:03:22 -06:00
ahocevar 534afae345 Set world projection only for tile-pixels units 2019-07-02 23:03:22 +02:00
Tim Schaub ac3072d888 Merge pull request #9743 from lutzhelm/iiif-v3beta
Finalize IIIF Image API version 3
2019-07-02 08:28:14 -06:00
Lutz Helm 018a7e2753 Remove superfluous comma 2019-07-02 13:50:29 +02:00
Lutz Helm 3cc18b6ea1 Test full region zoom levels with IIIF Image API v3 tile source 2019-07-02 13:39:23 +02:00
Lutz Helm 0507132a21 Correct and test IIIF version 3 image info parser 2019-07-02 13:21:09 +02:00
Lutz Helm 7147dce4d0 Remove unused code in IIIFInfo parser 2019-07-02 09:52:08 +02:00
Lutz Helm cc976dd4ad Adjust IIIF info parsing to 3.0-beta spec
- respect `preferredFormats`
- correct compliance level profile formats and features
2019-07-01 17:51:52 +02:00
greenkeeper[bot] dfd7b1f24f chore(package): update webpack to version 4.35.2
Closes #9740
2019-07-01 13:04:21 +00:00
Frederic Junod bb35a03704 Don't rotate the points of the heatmap layer 2019-07-01 11:29:27 +02:00
Frederic Junod ed340d7e2c Remove unused 'resolution' uniform from fragment shader 2019-07-01 10:00:55 +02:00
Frederic Junod 24e4f41452 Use size property from the frameState instead of creating new array 2019-07-01 09:44:37 +02:00
Andreas Hocevar f44a199bae Merge pull request #9738 from openlayers/greenkeeper/marked-0.6.3
Update marked to the latest version 🚀
2019-06-30 12:36:05 +02:00
greenkeeper[bot] 37af683630 chore(package): update marked to version 0.6.3 2019-06-30 02:13:29 +00:00
Andreas Hocevar bb756bdc2c Merge pull request #9737 from openlayers/greenkeeper/globby-10.0.0
Update globby to the latest version 🚀
2019-06-29 23:01:20 +02:00
greenkeeper[bot] f3ea4e0301 chore(package): update globby to version 10.0.0 2019-06-29 18:02:47 +00:00
Andreas Hocevar 4a3e4c7c23 Merge pull request #9733 from ahocevar/apidoc-fixes
Get rid of JSDoc warnings and fix fires arguments
2019-06-29 14:40:08 +02:00
ahocevar cb77f9e3dd Get rid of JSDoc warnings and fix fires arguments 2019-06-29 10:25:35 +02:00
Andreas Hocevar 8ff29f8431 Merge pull request #9732 from ahocevar/vectortile-empty-key
Fix EMPTY state and source key handling
2019-06-29 10:18:53 +02:00
ahocevar c4937bc716 Fix EMPTY state and source key handling 2019-06-28 23:25:36 +02:00
Frédéric Junod abb696d0fa Merge pull request #9724 from fredj/fix_import_in_tutorial
Fix wrong import in tutorial
2019-06-28 16:13:17 +02:00
Frédéric Junod 75a0a0ed49 Merge pull request #9722 from fredj/rm_unused
Remove unused param in getState function
2019-06-28 16:13:02 +02:00
Olivier Guyot d9a4f37f75 Merge pull request #9655 from jahow/webgl-interaction
Add hit detection on the WebGL points renderer
2019-06-28 11:22:03 +02:00
Frederic Junod 933a6297bb Remove unused hasFeatureAtCoordinate from ol/renderer/Layer 2019-06-28 11:10:33 +02:00
jahow 3bca9b5297 Webgl / use feature index for hit detection in points layer
For each feature its opacity value index is encoded on 4 bytes
in the color values, and the uid is stored in the opacity
value, allowing for a much higher range of uids to be read.
2019-06-28 09:12:20 +02:00
Olivier Guyot 28b99767f8 Webgl points / read only one pixel for feature hit detection
Also implements `hasFeatureAtCoordinate`.

`hitTolerance` is not supported for now.
2019-06-28 09:12:20 +02:00
Olivier Guyot e852294938 Webgl / improve reading of render targets data
Now two methods are available: `readAll` and `readPixel`,
and the data from the render target is not re-read every time unless
`clearCachedData` is called.
2019-06-28 09:12:20 +02:00
Olivier Guyot 917950a32b Improve icon-sprite-webgl example to include hit detection 2019-06-28 09:12:20 +02:00
Olivier Guyot 5ffca0633c Webgl Points / Add support for feature hit detection
For now only `forEachFeatureAtCoordinate` is implemented.

Each time the viewport is rendered, another similar render pass is
done using the specific hit detection instructions. Feature uid's are
encoded in the r,g,b,a channels and can then be decoded on the fly.

Note: the `readPixels` operation is taking a lot of time,
around 10-20ms each frame.
2019-06-28 09:12:20 +02:00
Olivier Guyot 38920867fb Webgl Helper / Add a method to prepare drawing to render targets 2019-06-28 09:12:20 +02:00
Olivier Guyot 6224d749c4 WebGL / Introduced the WebGLRenderTarget class
This utility class simplifies rendering to a texture & reading the
results of the render.

It also allows clearing its content before a new render.
2019-06-28 09:12:20 +02:00
Olivier Guyot 1257ade199 Webgl renderer / rename function to avoid confusion
`getBlankTexture` was too close to `WebGLHelper#createTexture`
2019-06-28 09:12:20 +02:00
Olivier Guyot f25a16d90c Webgl helper / rework create texture utils
Now only one util is available: `createTexture`, which
is tested and allows binding an image and reusing an existing texture.
2019-06-28 09:12:20 +02:00
Olivier Guyot b6425187de Remove unused WebGLShader class 2019-06-28 09:06:16 +02:00
Olivier Guyot 2b5e5459ab Webgl points / add hit detection buffers generation
Hit detection is done by rendering features with their id encoded in the
color attribute. A parallel set of render instructions and a second
vertex buffer is used specifically for that.
2019-06-28 09:06:16 +02:00
Olivier Guyot 8145b358c0 Webgl renderer / add id encode/decode utils 2019-06-28 09:06:16 +02:00
Olivier Guyot 034e0be76f Vector Source / index all features by uid
Previously features were indexed by uid only when they
did not have a defined id.
A new method was added: `getFeatureByUid`. This is not part of
the public API.
This will facilitate the lookup of features for hit detection.
2019-06-28 09:06:16 +02:00
Andreas Hocevar 6b60b25e8b Merge pull request #9728 from ahocevar/remove-package-lock
Remove accidently added package-lock.json
2019-06-28 09:04:39 +02:00
ahocevar 9bceccb5d1 Remove accidently added package-lock.json 2019-06-27 22:05:20 +02:00
Frederic Junod 0497225d5d Fix wrong import in tutorial 2019-06-27 17:01:46 +02:00
Frederic Junod 49a65568d8 Remove unused param in getState function 2019-06-27 15:07:59 +02:00
Tim Schaub a4b76b2a00 Merge pull request #9719 from petrsloup/special-maptiler-key
Use special MapTiler API key dedicated for OpenLayers examples
2019-06-25 17:41:32 -06:00
Petr Sloup 61fdf965ba Use special MapTiler API key dedicated for OpenLayers examples 2019-06-25 16:34:58 +02:00
Frédéric Junod 9e928b996c Merge pull request #9714 from fredj/f9662
Update the circle style after setRadius calls
2019-06-25 16:15:48 +02:00
Frédéric Junod 3d60dfdeeb Merge pull request #9718 from fredj/cleanup
Remove unused variable in ol/renderer/webgl/PointsLayer
2019-06-25 15:37:23 +02:00
Frederic Junod 54c670de77 Remove unused variable in ol/renderer/webgl/PointsLayer 2019-06-25 15:24:00 +02:00
Frederic Junod 9aa11d2e11 Update the circle style after setRadius calls 2019-06-25 10:42:52 +02:00
Frederic Junod 0d6368d4ec Remove underscore from protected function, fix indentation, remove typecast 2019-06-25 10:40:11 +02:00
Frédéric Junod caac90e8d7 Merge pull request #9711 from fredj/viewParams_space
Remove extra space for the 'viewParams' attribute
2019-06-25 08:29:22 +02:00
Tim Schaub 7464cedff7 6.0.0-beta.11 2019-06-24 17:06:04 -06:00
Tim Schaub 51c49e36bc Merge pull request #9712 from tschaub/mvt-id
Allow an arbitrary tag to be used as feature id
2019-06-24 16:42:06 -06:00
Andreas Hocevar b29099a278 Merge pull request #9709 from ahocevar/circleci-puppeteer
Try to make rendering tests run again in puppeteer
2019-06-24 21:59:32 +02:00
Tim Schaub 08c494dd11 Allow an arbitrary tag to be used as feature id 2019-06-24 12:01:12 -06:00
Frederic Junod c428421586 Remove extra space for the 'viewParams' attribute 2019-06-24 16:28:04 +02:00
ahocevar c0a2549285 Try to make rendering tests run again in puppeteer 2019-06-24 10:20:47 +02:00
ahocevar 2df5f85018 Set version to 6.0.0-beta.10 2019-06-24 09:52:07 +02:00
Andreas Hocevar 4a0d6ce43c Merge pull request #9705 from ahocevar/vectortile-render-optimizations
Vector tile renderer optimizations and fixes
2019-06-24 09:50:56 +02:00
Andreas Hocevar 187969cbb3 Merge pull request #9706 from ahocevar/non-browser-screen-check
Do not use self to check browser features
2019-06-24 09:48:59 +02:00
ahocevar 8cdfc6e17c Do not use self to check browser features 2019-06-23 14:26:40 +02:00
ahocevar 9cd35d67a9 Fix clipping and clearing 2019-06-23 14:23:32 +02:00
ahocevar 4d2fa476a3 Simpler z sort 2019-06-23 14:22:56 +02:00
ahocevar f864c05070 Less frame budget restrictions 2019-06-23 14:07:22 +02:00
ahocevar 3557271e5a Use Image.prototype.decode also in Safari 2019-06-23 14:06:14 +02:00
Andreas Hocevar 8a49e06ebd Merge pull request #9704 from ahocevar/vectortile-reuse-issue
Handle container reuse properly when layers are added/removed
2019-06-22 19:33:59 +02:00
ahocevar 6783f6adb9 Handle container reuse properly when layers are added/removed 2019-06-22 19:12:39 +02:00
Tim Schaub 5eb27f7704 Merge pull request #9703 from openlayers/greenkeeper/eslint-6.0.0
Update eslint to the latest version 🚀
2019-06-22 07:13:34 -06:00
greenkeeper[bot] df240fe905 chore(package): update eslint to version 6.0.0 2019-06-22 04:08:47 +00:00
Frédéric Junod 300522e3cc Merge pull request #9701 from fredj/overlay_will-change
Remove will-change CSS rule for Overlay container
2019-06-21 16:36:27 +02:00
Tim Schaub 3ede6e32be Merge pull request #9702 from lutzhelm/typecheck-iiif
Fix several TypeScript type check problems
2019-06-21 07:53:59 -06:00
Tim Schaub ce45a10063 Merge pull request #9700 from KaiVolland/9692-typescript
Solves typescript related issues
2019-06-21 07:48:15 -06:00
Tim Schaub 2438ef167b Merge pull request #9699 from petrsloup/maptiler-url-fix
Fix MapTiler API usage
2019-06-21 07:46:42 -06:00
Lutz Helm d6dc7a926d Fix several TypeScript type check problems 2019-06-21 15:26:28 +02:00
Frederic Junod 6e6a2cae06 Use version 4 TileJSON from mapbox 2019-06-21 14:33:26 +02:00
Frederic Junod a6ebad008f Remove will-change CSS rule for Overlay container
Fixes #9467
Fixes #9139

Chrome doesn't force a composition if the `will-change` CSS rule is different from `transform` or `opacity`.
See https://bugs.chromium.org/p/chromium/issues/detail?id=960953
2019-06-21 14:22:46 +02:00
Kai Volland ed5d4aaf6d Fixes typing issue in mat4.js 2019-06-21 13:35:40 +02:00
Kai Volland f507efe77d Fixes typing issue in Composite.js 2019-06-21 13:31:27 +02:00
Kai Volland 83173cd385 Fixes typing issue in VectorTile.js 2019-06-21 13:30:35 +02:00
Kai Volland b6b91abc27 Fixes typing issue in DragPan.js 2019-06-21 13:28:56 +02:00
Petr Sloup 05c791efcd Fix MapTiler API usage 2019-06-21 11:22:24 +02:00
Tim Schaub 2342626a57 Merge pull request #9698 from openlayers/greenkeeper/puppeteer-1.18.0
Update puppeteer to the latest version 🚀
2019-06-20 23:33:59 -06:00
greenkeeper[bot] 7c0a0a4786 chore(package): update puppeteer to version 1.18.0 2019-06-20 22:24:07 +00:00
Frédéric Junod a35ca03e07 Merge pull request #9636 from fredj/rm_from_webgl
Remove and move code from ol/webgl
2019-06-20 16:16:27 +02:00
Tim Schaub c522454af1 Merge pull request #9695 from openlayers/greenkeeper/webpack-4.35.0
Update webpack to the latest version 🚀
2019-06-20 07:16:29 -06:00
Frederic Junod ef10834eb3 Remove unused constants from ol/webgl
And change the `EXTENSIONS` constant to a function
2019-06-20 10:25:22 +02:00
greenkeeper[bot] 8efad7bcff chore(package): update webpack to version 4.35.0 2019-06-20 05:08:42 +00:00
Andreas Hocevar 51c8886d60 Merge pull request #9684 from ahocevar/doc-nav
List complete classes in doc navigation
2019-06-17 15:37:19 +02:00
Frédéric Junod 34a8702202 Merge pull request #9685 from fredj/rm_glContext
Remove glContext from RenderEvent
2019-06-17 14:10:51 +02:00
Frederic Junod 1f00da8d83 Remove glContext from RenderEvent 2019-06-17 13:52:56 +02:00
ahocevar 8d793ad6ec List complete classes in doc navigation 2019-06-17 13:10:02 +02:00
Andreas Hocevar bd8a7bff16 Merge pull request #9681 from ahocevar/apidoc-fixed-and-improved
Remove duplicates from api docs and make navigation more usable
2019-06-17 08:27:48 +02:00
ahocevar d059689856 Index classes under modulues 2019-06-17 08:15:49 +02:00
ahocevar 4ea28333f8 Avoid duplicates in api docs 2019-06-17 08:15:17 +02:00
Andreas Hocevar edebf35135 Merge pull request #9677 from ahocevar/featureformat-tilepixels
Add support for tile pixel projection in feature formats
2019-06-15 08:22:28 +02:00
Frédéric Junod 90b645daa5 Merge pull request #9679 from fredj/cleanup
Set pixelTransform and inversePixelTransform as protected
2019-06-15 07:53:15 +02:00
Andreas Hocevar 9eac927b45 Merge pull request #9678 from ahocevar/geography-class
Update geography class urls
2019-06-14 23:20:47 +02:00
Frederic Junod ec5e8bfa50 Set pixelTransform and inversePixelTransform as protected
The variables are used in child classes
2019-06-14 14:52:28 +02:00
ahocevar 124e984a6d Fix and simplify geojson-vt example 2019-06-14 14:28:37 +02:00
ahocevar 76f44efbb6 Add support for tile pixels to feature formats 2019-06-14 14:28:37 +02:00
ahocevar ddaaf6a860 Update geography class urls 2019-06-14 12:53:52 +02:00
Tim Schaub 92c16ecdf5 Merge pull request #9673 from openlayers/greenkeeper/webpack-4.34.0
Update webpack to the latest version 🚀
2019-06-12 19:15:28 -06:00
greenkeeper[bot] 635d7a9189 chore(package): update webpack to version 4.34.0 2019-06-12 23:40:39 +00:00
Tim Schaub fc6ca5eaf3 Merge pull request #9660 from openlayers/greenkeeper/pixelmatch-5.0.0
Update pixelmatch to the latest version 🚀
2019-06-07 04:08:01 -06:00
greenkeeper[bot] 803f960ded chore(package): update pixelmatch to version 5.0.0 2019-06-07 07:52:43 +00:00
Frédéric Junod ef1b672323 Merge pull request #9658 from fredj/f9628
Don't use HTMLImageElement.decode method on Safari
2019-06-06 16:34:57 +02:00
Frederic Junod 002dc34455 Don't use HTMLImageElement.decode method on Safari
The decode function is supported by Safari but not when the image is a svg file.
2019-06-06 16:15:36 +02:00
Frédéric Junod cc8389d588 Merge pull request #9657 from fredj/getFeaturesInExtent_doc
Better documentation for getFeaturesInExtent function
2019-06-06 14:23:11 +02:00
Frederic Junod a8e0e4e960 Better documentation for getFeaturesInExtent function 2019-06-06 14:08:25 +02:00
Olivier Guyot 9ae7256048 Merge pull request #9562 from jahow/webgl-worker
Optimize the WebGL points renderer using a worker
2019-06-06 08:48:29 +02:00
Frederic Junod e036767746 Use version 4 TileJSON from mapbox 2019-06-06 08:34:31 +02:00
Frédéric Junod 9a49c91fdd Merge pull request #9653 from openlayers/greenkeeper/coveralls-3.0.4
Update coveralls to the latest version 🚀
2019-06-06 08:19:45 +02:00
greenkeeper[bot] 37ff7f547b chore(package): update coveralls to version 3.0.4 2019-06-06 00:10:14 +00:00
Marc Jansen c97a728531 Merge pull request #9394 from KaiVolland/docs-import-functions
Introduces import snippets for static functions
2019-06-05 22:20:15 +02:00
Olivier Guyot 811bff0430 Merge pull request #9638 from agpixdev/translate-interaction-filter
#9625: Add filter function to translate interaction
2019-06-05 15:32:29 +02:00
Olivier Guyot 2412fe0211 Webgl / remove handling of element_index_uint extension
From now on we will assume this extension is always enabled.

An error message have been added in the unlikely scenario of a lack
of support.
2019-06-05 14:46:15 +02:00
Tim Schaub 32084a7fce Merge pull request #9649 from openlayers/greenkeeper/webpack-4.33.0
Update webpack to the latest version 🚀
2019-06-04 20:11:55 -07:00
André Garneau 7817cf31c6 Changes following code review
Add a type for FilterFunction and add tests for filter option.
2019-06-04 17:45:28 -04:00
greenkeeper[bot] 2e5aac8dba chore(package): update webpack to version 4.33.0 2019-06-04 20:02:28 +00:00
Frédéric Junod 8b08996703 Merge pull request #9644 from fredj/webgl_layer_compose
Use compose function from ol/transform
2019-06-04 15:35:05 +02:00
Andreas Hocevar 1fbbc56f93 Merge pull request #9645 from ahocevar/no-used-tiles
Handle case of no used tiles
2019-06-04 15:26:27 +02:00
ahocevar 8f77a300de Handle case of no used tiles 2019-06-04 14:07:23 +02:00
Frederic Junod 91d49b26b5 Round the transform values in makeProjectionTransform test 2019-06-04 14:00:39 +02:00
Frederic Junod 02ce2f4bec Use compose function from ol/transform 2019-06-04 13:23:12 +02:00
Andreas Hocevar d4f98c8e59 Merge pull request #9640 from ahocevar/base-docs
Import options directly instead of importing a typedef
2019-06-04 09:30:38 +02:00
Andreas Hocevar ab0860a22a Merge pull request #9641 from ahocevar/less-proj-imports
Only import what's needed from projections
2019-06-04 09:27:05 +02:00
ahocevar dd478167a0 Only import what's needed from projections 2019-06-04 09:14:08 +02:00
ahocevar 2df911e0a8 Import options directly instead of importing a typedef 2019-06-04 08:41:08 +02:00
Andreas Hocevar e9939ecc38 Merge pull request #9637 from ahocevar/detach-labelcache-on-settarget
Detach label cache on Map#setTarget()
2019-06-03 16:03:30 +02:00
Frédéric Junod d058439756 Merge pull request #9633 from fredj/rm_typecast
Mark the `layers` property as optional in OverviewMap constructor
2019-06-03 15:46:23 +02:00
ahocevar 8c21c9196d Move label cache listener management to the renderer 2019-06-03 15:13:30 +02:00
ahocevar 68b7831daf Listen to label cache again when we have a target 2019-06-03 14:28:20 +02:00
ahocevar 153e06e4d5 Detach label cache on Map#setTarget() 2019-06-03 14:14:13 +02:00
Andreas Hocevar 9bedfb7cb0 Merge pull request #9634 from ahocevar/remove-old-android-workaround
Remove old Android workaround
2019-06-03 10:17:44 +02:00
ahocevar 1bd23a0c32 Remove old Android workaround 2019-06-03 10:03:53 +02:00
Frederic Junod 50343afa61 Remove unnecessary typecasts in constructors options 2019-06-03 09:08:41 +02:00
Frederic Junod a9e1ebccd3 Mark the layers property as optional in OverviewMap constructor 2019-06-03 09:07:20 +02:00
Andreas Hocevar 9672142c1e Merge pull request #9629 from ahocevar/reuse-vectortile-overlay
Clear overlay canvas when reusing containers
2019-06-02 18:20:24 +02:00
ahocevar 6123be726a Handle layer removal on shared containers 2019-06-02 13:59:06 +02:00
ahocevar 05d8517686 Clear overlay canvas when reusing containers 2019-06-02 11:07:30 +02:00
Frederic Junod 87d5f4c8bc Use 'helper' from WebGLHelper in tests 2019-06-01 15:35:31 +02:00
Frederic Junod 06be00bbd5 Webgl Helper / add an API for OESElementIndexUint extension 2019-06-01 15:35:27 +02:00
Frederic Junod 7fb113c3dc Mark 'helper' variable protected 2019-06-01 15:33:36 +02:00
Olivier Guyot 98b0c65450 Rendering tests / add custom web worker loader
Also includes a change in the rollup-babel plugin to avoid
adding helpers as dependencies (which would give out errors).
2019-06-01 15:33:36 +02:00
Olivier Guyot 698816030e Webgl points / fix unit tests 2019-06-01 15:33:36 +02:00
Olivier Guyot 03e70bd10e Webgl points / handle using short instead of int for indices
This is controlled by the availability of the OES_element_index_uint
webgl extension.
2019-06-01 15:33:36 +02:00
Olivier Guyot e0983cb1c6 Webgl worker / add tests, some typing and documentation
The worker currently works by receiving GENERATE_BUFFERS messages and
will send back the same kind of message, with the generated buffers
attached. All properties of the original message are kept, so that
when a GENERATE_BUFFERS message comes back to the main thread it
is possible to know what and how the buffers where generated.

This is typically used for the `projectionTransform` matrix, and
will also be necessary when working with tiles.
2019-06-01 15:33:36 +02:00
Olivier Guyot a366803cdd Webgl / use the new buffer API in helper & the points renderer 2019-06-01 15:33:36 +02:00
Olivier Guyot 33d007ce01 Webgl buffer / now stores data in typed arrays
The `WebGLBuffer` class API was changed in order to allow populating
the internal array in different ways.
2019-06-01 15:33:31 +02:00
Olivier Guyot 8566cfc227 Webgl points / get back the instructions array from the worker
This means we won't have to recreate a binary buffer (through a typed array)
on every `rebuildBuffer` call.
2019-06-01 15:25:24 +02:00
Olivier Guyot 65be907095 Webgl points / shifts the buffer write logic in a worker
The worker receives a transferable array of instructions
and sends back two transferable arrays (vertex and index buffer).
The projection transform is also sent so that when the main thread
receives the buffers from the worker it also knows which projection to
apply when rendering the geometries.
2019-06-01 15:25:11 +02:00
Olivier Guyot 532b8194b1 Webgl points / use the new typed-array based utils for buffers
`rebuildBuffer` is still a very CPU intensive task and is blocking the
main thread.
2019-06-01 15:20:04 +02:00
Olivier Guyot eb912d95ca Webgl / refactor utilities to work only on typed arrays
The base webgl renderer module now has two types of utilities:
* `writeXFeatureInstructions` will write a series of values in a given
typed array, which represent how a given feature will be rendered; for points,
this means position, size, color, etc.
* `writeXFeatureToBuffers` will fill up the given index & vertex buffers
with values based on the provided render instructions

As such, the logic for rendering features is:
user-input style > instructions array >(*) index/vertex buffers > draw

(*) this transformation is intended to be done on a worker.
2019-06-01 15:19:37 +02:00
Frédéric Junod 245ded43d4 Merge pull request #9626 from fredj/rm_from_has
Remove TOUCH, POINTER and MSPOINTER from ol/has
2019-06-01 12:09:40 +01:00
Frederic Junod 7c215b2532 Remove TOUCH, POINTER and MSPOINTER from ol/has 2019-06-01 07:18:23 +02:00
Frédéric Junod 579d05a0cb Merge pull request #9624 from fredj/cleanup
Remove typecasts in ol/control/OverviewMap
2019-06-01 06:13:02 +01:00
André Garneau b42ee8ca0f Add filter function to translate interaction
Add a filter function to the translate interaction. This filter is similar to the one present in the select interaction options and provides the ability to dynamically filter which features to include in the translate interaction. Adding the existing "features" options allows further filtering to take place. In this case the filter is first applied, and features that are passing the filtering need to be present in the "features" options to be further kept. The default filter function always return true (no filtering).
2019-05-31 14:51:13 -04:00
Frederic Junod ede864c823 Remove typecasts in ol/control/OverviewMap
The `options` type was not correctly detected by the typescript compiler.
2019-05-31 16:18:15 +02:00
ahocevar a50ef05565 Set version to 6.0.0-beta.9 2019-05-30 15:55:09 +02:00
Tim Schaub 93a607d846 Merge pull request #9615 from tschaub/import-specifiers
Include full filename in import specifier
2019-05-29 09:35:34 -06:00
Tim Schaub deb00f20fe Include full filename in import specifier 2019-05-29 08:51:10 -06:00
Frédéric Junod c4e465dcf9 Merge pull request #9592 from fredj/f9587_layerIndex
Remove `layerState` param from `prepareFrame` and `renderFrame` function
2019-05-29 09:27:38 +02:00
Frederic Junod bfea858306 Add missing extension in import 2019-05-29 09:19:17 +02:00
Frédéric Junod c92bf29677 Fix spelling
Co-Authored-By: Tim Schaub <tschaub@users.noreply.github.com>
2019-05-29 09:07:05 +02:00
Andreas Hocevar 6675f9be57 Merge pull request #9289 from sbrunner/vector-source-geom
Vector source geom
2019-05-28 11:23:31 +02:00
Frédéric Junod 1a6d67776b Merge pull request #9608 from fredj/md_link
Use markdown link syntax in jsdoc
2019-05-27 14:17:18 +02:00
Stéphane Brunner 889b6a9f43 Removes unnecessary type cast 2019-05-27 11:34:33 +02:00
Stéphane Brunner 970c1bcb66 Make the vector source geometry generic 2019-05-27 11:34:31 +02:00
Frederic Junod 2db953ceb1 Use markdown link syntax in jsdoc 2019-05-27 11:06:12 +02:00
Olivier Guyot 051cc68f24 Merge pull request #9596 from jahow/fix-source-missing-event
Vector source / prevent adding features with duplicate id in the collection
2019-05-26 10:53:58 +02:00
Frederic Junod 40c49a9ce5 Remove layerState param from prepareFrame and renderFrame function 2019-05-25 07:19:10 +02:00
Olivier Guyot 442fa907ce Vector source / prevent adding features with duplicate id...
...in the collection.

Previously two features with the same id could be pushed manually in the
features collection and stay there.

This would cause an error when clearing the source.

Fixes #6183.
2019-05-24 23:29:48 +02:00
Bart van den Eijnden 7044e30529 Merge pull request #9604 from bartvde/window-global
Use window instead of global in addEventListener
2019-05-24 15:17:07 +02:00
Frédéric Junod 7cfe047feb Merge pull request #9599 from openlayers/github_funding
Create FUNDING.yml
2019-05-24 15:14:26 +02:00
Tim Schaub 796f20385d Merge pull request #9598 from openlayers/greenkeeper/puppeteer-1.17.0
Update puppeteer to the latest version 🚀
2019-05-24 06:58:00 -06:00
bartvde c76aa76743 Use window instead of global in addEventListener 2019-05-24 14:51:32 +02:00
Bart van den Eijnden 2969c9e8fb Merge pull request #9601 from bartvde/fix-addeventlistener2
Use global addEventListener in PluggableMap
2019-05-24 14:11:26 +02:00
bartvde 119c24faa2 Use global addEventListener in PluggableMap 2019-05-24 13:45:19 +02:00
Frédéric Junod 93711ea806 Create FUNDING.yml 2019-05-24 11:19:37 +02:00
Andreas Hocevar 96331c5d95 Merge pull request #9584 from ahocevar/reuse-render-target
Reuse render target
2019-05-24 10:33:36 +02:00
ahocevar d8f41a9d73 Only reuse target when className is the same 2019-05-24 10:16:20 +02:00
greenkeeper[bot] 311900e441 chore(package): update puppeteer to version 1.17.0 2019-05-24 00:18:21 +00:00
ahocevar bdb87f06f9 Rework tile image render queue 2019-05-23 15:55:29 +02:00
Frédéric Junod ddb7da3733 Merge pull request #6217 from fredj/dragpan_primary
Add primaryAction condition to DragPan
2019-05-23 09:50:55 +02:00
Tim Schaub a358521b2b Merge pull request #9594 from openlayers/greenkeeper/webpack-4.32.2
Update webpack to the latest version 🚀
2019-05-22 21:12:52 -06:00
greenkeeper[bot] 4f833501d7 chore(package): update webpack to version 4.32.2 2019-05-22 23:39:55 +00:00
ahocevar ace5c65ee5 Smarter opacity handling 2019-05-22 16:47:23 +02:00
ahocevar ae47d3df58 Use opacity from layer state 2019-05-22 16:47:22 +02:00
ahocevar 4c8effe6fa No tile transition when layer opacity is set 2019-05-22 16:47:22 +02:00
ahocevar c56ad4363d Canvas opacity instead of css 2019-05-22 16:47:22 +02:00
ahocevar 7895b16043 Reuse container for raster and vector image layers 2019-05-22 16:47:20 +02:00
ahocevar a45e704be2 Smarter reuse detection 2019-05-22 16:46:46 +02:00
ahocevar d1f1b468b1 Reuse target for image layers 2019-05-22 16:46:46 +02:00
ahocevar a55505b36a Reuse containers for tile, vector and vector tile layers 2019-05-22 16:46:40 +02:00
ahocevar 930318ab7a Clip high res tiles out of low res tiles only once 2019-05-22 15:57:15 +02:00
ahocevar 5fe9e06535 Use clipping to not render high res tiles on top of low res 2019-05-22 15:57:15 +02:00
ahocevar 606443bc6d Pass render target of previous layer to next layer 2019-05-22 15:56:51 +02:00
Frederic Junod ec811bfa1f Add primaryAction condition to DragPan interaction 2019-05-22 15:21:17 +02:00
Tim Schaub 5e8d7f666e Merge pull request #9589 from openlayers/greenkeeper/webpack-4.32.1
Update webpack to the latest version 🚀
2019-05-22 06:35:21 -06:00
greenkeeper[bot] 4f9057f066 chore(package): update webpack to version 4.32.1 2019-05-22 06:59:26 +00:00
Tim Schaub 4ed6413635 Merge pull request #9586 from openlayers/greenkeeper/rollup-plugin-terser-5.0.0
Update rollup-plugin-terser to the latest version 🚀
2019-05-21 18:34:20 -06:00
greenkeeper[bot] bb5ebaa1ab chore(package): update rollup-plugin-terser to version 5.0.0 2019-05-21 22:32:01 +00:00
Tim Schaub c9491ed023 Merge pull request #9569 from engsterhold/patch-1
Fix for change in Zoomify.js/CustomTile signature
2019-05-21 06:52:51 -06:00
Tim Schaub 3db13fa3bb Merge pull request #9582 from tschaub/stale
Add app to mark inactive issues as stale
2019-05-21 06:49:56 -06:00
robert 7e4e113ac9 lint fix
Signed-off-by: robert <24939343+engsterhold@users.noreply.github.com>
2019-05-21 12:32:30 +02:00
Tim Schaub dc4ce62fab Merge pull request #9581 from tschaub/update-webpack
Update webpack and use mode in the loader
2019-05-20 19:43:37 -06:00
Tim Schaub 6288744d70 Configure Stale app
See https://github.com/organizations/openlayers/settings/installations/1008384
2019-05-20 17:56:30 -06:00
Tim Schaub c0339f167b Use mode from the loader context
See https://github.com/webpack/webpack/pull/9140.
2019-05-20 10:33:59 -06:00
greenkeeper[bot] 60007d8e3c chore(package): update webpack to version 4.32.0 2019-05-20 10:33:20 -06:00
Frédéric Junod 2322131b01 Merge pull request #9576 from fredj/has-geolocation
Remove geolocation detection from ol/has
2019-05-18 09:40:21 +02:00
Frederic Junod 39bb6a8ffe Remove geolocation detection from ol/has 2019-05-18 08:50:33 +02:00
Tim Schaub 0631a121c3 Merge pull request #9575 from tschaub/untwisted-exports
Rework exports for getUid and control defaults
2019-05-17 13:03:14 -06:00
Tim Schaub c860f15f91 Break the circular dependency by extending a pluggable map 2019-05-17 12:38:32 -06:00
Tim Schaub c10fd7aaab Avoid overwriting longname for getUid 2019-05-17 12:00:10 -06:00
Andreas Hocevar 7ced251d19 Merge pull request #9574 from jumpinjackie/update-mapguide-demo-server
Update OL MapGuide example to point to my demo MapGuide Server.
2019-05-17 19:49:39 +02:00
Frédéric Junod 637c823fa6 Merge pull request #9571 from fredj/misc_examples
Small examples improvements
2019-05-17 17:00:58 +02:00
Frederic Junod 2d655143c3 Add an Overlay in the export-map example 2019-05-17 16:45:29 +02:00
Jackie Ng fba95ea3f0 Update OL MapGuide example to point to my demo MapGuide Server.
Fixes #9573
2019-05-18 00:21:53 +10:00
Frédéric Junod 40393cd9a4 Merge pull request #9572 from fredj/upgrade-notes_css
Add a note about CSS removal in upgrade-notes.md
2019-05-17 15:44:31 +02:00
Frederic Junod 10527bd221 Remove margin in full screen
In only affects Safari, in Chrome `margin: 0;` is in the default browser's style sheet.
2019-05-17 15:41:03 +02:00
Frederic Junod 4c2b11f6d7 Add a note about CSS removal in upgrade-notes.md 2019-05-17 15:21:51 +02:00
Frédéric Junod 512a39bafd Merge pull request #9570 from fredj/rm_media_print
Remove CSS print rules in ol.css
2019-05-17 14:58:55 +02:00
Frederic Junod 78c09a0ff6 Add svg icon example 2019-05-17 14:48:03 +02:00
Frederic Junod 6dc00b75e0 Update d3 version in d3 example 2019-05-17 14:27:20 +02:00
Frederic Junod 6b50f1555b Add webgl tag to heatmap layer example 2019-05-17 14:25:34 +02:00
Frederic Junod a6f098f78b Remove CSS print rules in ol.css
Fixes #7909
2019-05-17 14:21:19 +02:00
engsterhold f77b0941b8 fixed styling 2019-05-17 13:52:10 +02:00
Tim Schaub 6d06f81ca7 Merge pull request #9563 from tschaub/fragile-docs
Fix @abstract and @module annotations
2019-05-16 16:27:09 -06:00
Tim Schaub 908ecb39e3 Description below @abstract trips up JSDoc 2019-05-16 16:10:30 -06:00
Tim Schaub 6cad19e9d5 Description below @module trips up JSDoc 2019-05-16 16:09:30 -06:00
ahocevar b0fae46aa6 Do not use css z-index 2019-05-16 22:29:32 +02:00
Andreas Hocevar 17d26acb2f Merge pull request #9560 from ahocevar/simplify-loading
Simplify loading detection loop
2019-05-16 22:27:59 +02:00
Andreas Hocevar 579fadd797 Merge pull request #9561 from ahocevar/map-memory-leak
Remove memory leak caused by label cache listeners
2019-05-16 22:26:56 +02:00
Tim Schaub 9693336d99 Merge pull request #9559 from tschaub/minify-worker
Minify worker
2019-05-16 14:20:11 -06:00
ahocevar 335648d613 Remove memory leak caused by label cache listeners 2019-05-16 21:04:55 +02:00
ahocevar dc906f79e1 Simplify loading detection loop 2019-05-16 20:19:32 +02:00
Tim Schaub 34a8a484c4 Merge pull request #9558 from tschaub/unlisten
Stop listening for image decoding
2019-05-16 11:46:15 -06:00
Tim Schaub 0d489f2ea9 Minify worker in examples for a production build 2019-05-16 10:41:33 -06:00
Tim Schaub d49e166506 Minify worker source 2019-05-16 10:35:18 -06:00
Frederic Junod a0e6af425e Add tests for listenImage function, fix private variables initialization 2019-05-16 16:42:37 +02:00
engsterhold e69b15d33e Bandaid fix for change in Zoomify.js/CustomTile signature
The recent addition of tilePixelRatio to the Zoomify.js/CustomTile constructor broke parameter binding in IIIF.js/IIIF.
The fix mirrors the change in the  Zoomify.js/Zoomify constructor
2019-05-16 16:10:58 +02:00
Tim Schaub ee9a0bcd05 Stop listening for image decoding 2019-05-16 08:06:12 -06:00
Tim Schaub 442fbb13d2 Merge pull request #9550 from tschaub/worker
Setup for building workers
2019-05-16 07:02:34 -06:00
Frédéric Junod fddc5bcc5b Merge pull request #9555 from fredj/rm_unused
Remove unused roundUpToPowerOfTwo function
2019-05-16 13:57:19 +02:00
Frederic Junod c2058af13a Remove unused roundUpToPowerOfTwo function 2019-05-16 12:11:58 +02:00
Frederic Junod bb022050ed Add 'webworker' lib into the TypeScript's compilerOptions 2019-05-16 09:49:29 +02:00
Frédéric Junod a8e5cb1e12 Merge pull request #9553 from openlayers/greenkeeper/ol-mapbox-style-5.0.0-beta.2
chore(package): update ol-mapbox-style to version 5.0.0-beta.2
2019-05-16 09:43:56 +02:00
Frédéric Junod 1628ce8729 Merge pull request #9551 from fredj/img_decode
Use HTMLImageElement.decode if available
2019-05-16 09:30:55 +02:00
greenkeeper[bot] 37f96ddcfa chore(package): update ol-mapbox-style to version 5.0.0-beta.2 2019-05-16 07:21:23 +00:00
Andreas Hocevar 1fc75fdc68 Merge pull request #9500 from edellucien/kml_extended_data
KML string validation with extendedData
2019-05-16 09:20:03 +02:00
lucien 10c4ec0b37 Only use 'pushSerializeAndPop' later in code to write extendedData after 2019-05-16 09:10:40 +02:00
Frederic Junod 2e34dd0faf Use HTMLImageElement.decode if available 2019-05-16 08:53:29 +02:00
Tim Schaub b7b37f9548 Add worker loader to the tests 2019-05-15 16:49:54 -06:00
Tim Schaub 05f13bb363 Add worker loader to the examples 2019-05-15 16:49:38 -06:00
Tim Schaub e307410301 A task to inline workers 2019-05-15 16:38:06 -06:00
Tim Schaub 5a4541dadb Merge pull request #9534 from tschaub/simpler-mapbox-layer-example
Remove unnecessary parts from the Mapbox layer example
2019-05-15 14:00:46 -06:00
Andreas Hocevar 56ec6b093e Merge pull request #9548 from ahocevar/italic-labels
Avoid cut off labels for italic fonts
2019-05-15 16:58:17 +02:00
Frédéric Junod 61d753c803 Merge pull request #9549 from fredj/rm_unused
Remove unused getReplayTransform_ function in VectorTileLayer
2019-05-15 16:31:09 +02:00
Tim Schaub f312706269 Remove unnecessary parts from the Mapbox layer example 2019-05-15 08:26:43 -06:00
Frederic Junod f33ad5e025 Remove unused getReplayTransform_ function in VectorTileLayer 2019-05-15 15:10:54 +02:00
ahocevar 2e31f716ed Avoid cut off labels for italic text 2019-05-15 15:01:12 +02:00
Tim Schaub eafb657264 Merge pull request #9545 from tschaub/default-view-extent
Avoid panning off the edge of the world
2019-05-15 04:58:29 -06:00
Tim Schaub 0cee259d0b Merge pull request #9539 from tschaub/event-error
Document existing error event type
2019-05-15 04:53:57 -06:00
Tim Schaub be8797f355 Merge pull request #9541 from tschaub/rbush-three
Upgrade to rbush@3
2019-05-15 04:53:15 -06:00
Tim Schaub d652bfc4a7 Merge pull request #9543 from tschaub/upgrade-jsdoc-plugin
Update jsdoc-plugin-typescript to version 2.0.1
2019-05-15 04:52:26 -06:00
Andreas Hocevar 11607caa81 Merge pull request #9536 from ahocevar/font-cache-hits
More font cache hits
2019-05-15 12:13:40 +02:00
ahocevar 41e958ea1f Split text into single chars or don't split at all 2019-05-15 11:55:29 +02:00
Olivier Guyot 39de2451bc Merge pull request #9537 from jahow/webgl-geojson-refactoring
WebGL / Points renderer refactoring
2019-05-15 11:44:40 +02:00
Olivier Guyot e11e3c5f6e Webgl / minor function renaming 2019-05-15 11:30:24 +02:00
Olivier Guyot c705775d75 Linting 2019-05-15 10:20:31 +02:00
Olivier Guyot 9ca75e9d43 Webgl points / rebuild buffers when source change 2019-05-15 10:18:53 +02:00
Olivier Guyot 5d2b7fe4bb Webgl points / use the helper ton compute the projection transform
The `WebGLHelper` class now provides a `makeProjectionTransform` method
that updates a transform to match the projection for a given frame state.

This also means that the WebGLHelper does not set the projection matrix
uniform anymore, this is the responsibility of the renderer as
the rendered coordinates will not be in world space from now on.
2019-05-15 10:18:47 +02:00
Olivier Guyot fb455891ce Webgl points / make coordinates in view space to avoid precision glitches
Fixes #9479
2019-05-15 10:18:47 +02:00
Olivier Guyot 3e2e45ce6d Webgl helper / add the possibility to use transforms as custom uniforms
These will be translated into 4x4 matrices in GLSL.
2019-05-15 10:18:47 +02:00
Olivier Guyot 75eb62363a WebGL points / rebuild buffers only when extent changed 2019-05-15 10:18:47 +02:00
Olivier Guyot 523097903a WebGL points / rebuild buffers on every non animation frame 2019-05-15 10:18:22 +02:00
Olivier Guyot c6d214b585 Webgl / implement support for custom attributes in webgl buffers
Only numerical attributes can be pushed in webgl buffers.
2019-05-15 10:15:55 +02:00
Frédéric Junod c9604dbd69 Merge pull request #9546 from fredj/canvas_optim
Lazily create the hit detection context
2019-05-15 10:15:02 +02:00
Frédéric Junod df37519858 Initialize hitDetectionContext to null
Co-Authored-By: Andreas Hocevar <andreas.hocevar@gmail.com>
2019-05-15 10:03:43 +02:00
Frederic Junod 10c6009ffa Lazily create the hit detection context 2019-05-15 09:52:57 +02:00
Olivier Guyot 27e520add4 WebGL points / use pushFeatureInBuffer util
Feature objects are converted to geoJSON with the properties
set for rendering.
2019-05-15 09:47:00 +02:00
Olivier Guyot 3a429d3f6c Webgl / add utils for pushing geojson geometries in webgl buffers
For now only point geometries are handled.
2019-05-15 09:44:41 +02:00
Olivier Guyot 5e36468245 Webgl / add a simple Layer renderer for common logic
This will eventually provides utilities for manipulating & rendering data
2019-05-15 09:43:29 +02:00
Olivier Guyot a2d83f5358 WebGL points / add minimal tests 2019-05-15 09:42:15 +02:00
ahocevar 53b9718381 Bump version (beta) 2019-05-15 09:32:20 +02:00
Frédéric Junod 2de282ae49 Merge pull request #9533 from fredj/canvas_optim
Canvas optimizations
2019-05-15 08:24:57 +02:00
Tim Schaub 217c6ba764 Avoid panning off the edge of the world 2019-05-14 20:15:51 -06:00
greenkeeper[bot] 039f21274b chore(package): update jsdoc-plugin-typescript to version 2.0.1 2019-05-14 18:59:50 -06:00
Tim Schaub 09fdd30876 Upgrade to rbush@3 2019-05-14 18:43:08 -06:00
Tim Schaub 72551ab506 Merge pull request #9538 from tschaub/module-name
Correct the module annotation for the vector image layer renderer
2019-05-14 18:10:13 -06:00
Tim Schaub 811e5f60eb Document existing error event type 2019-05-14 14:28:00 -06:00
Tim Schaub b1ea0fec50 Name the module like the module 2019-05-14 13:58:04 -06:00
Frederic Junod 98ee52c61c Move the transform matrix computation out of the for loop 2019-05-14 15:39:06 +02:00
Frederic Junod f76b9bdd07 Only apply canvas transform if the tiles are scales 2019-05-14 15:33:44 +02:00
Frédéric Junod 3a1d927c41 Merge pull request #9532 from fredj/rm_prop_mapbox_example
Remove unused 'container' property in mapbox-layer example
2019-05-14 14:23:58 +02:00
Frederic Junod 9224bfab7d Remove unused 'container' property in mapbox-layer example 2019-05-14 13:48:26 +02:00
Frédéric Junod b5535f3ba5 Merge pull request #9530 from fredj/spelling
Fix spelling
2019-05-14 09:26:53 +02:00
Frederic Junod bfe6d29601 Fix spelling 2019-05-14 09:17:34 +02:00
Tim Schaub 807525b1db Merge pull request #9528 from openlayers/greenkeeper/puppeteer-1.16.0
Update puppeteer to the latest version 🚀
2019-05-13 21:01:49 -06:00
Tim Schaub 8504a49e17 Merge pull request #9489 from crubier/master
Fix Zoomify to display retina tiles
2019-05-13 19:05:31 -06:00
greenkeeper[bot] 83d317d16d chore(package): update puppeteer to version 1.16.0 2019-05-14 00:10:27 +00:00
Frédéric Junod 55b27c70b5 Merge pull request #9525 from jahow/custom-render-fn
Support a custom render function for the Layer class
2019-05-13 16:45:34 +02:00
Olivier Guyot 1c13893dd1 Mapbox Example / remove es6 shorthand
thanks @fredj

Co-Authored-By: Frédéric Junod <frederic.junod@camptocamp.com>
2019-05-13 16:38:10 +02:00
Olivier Guyot 4a1cda715d Layer / update doc to reflect custom render function support 2019-05-13 16:22:27 +02:00
Olivier Guyot c9d1725f5c Composite renderer / trigger a render even when the source is undefined 2019-05-13 16:16:53 +02:00
Olivier Guyot 4bf314f9e6 Mapbox Example / simplify to use a custom render function 2019-05-13 16:16:53 +02:00
Olivier Guyot 14f580fe30 Layer / accepts a custom render function 2019-05-13 16:16:53 +02:00
Frédéric Junod a2e6d4b324 Merge pull request #9522 from fredj/https
Use https urls for mapbox.com
2019-05-13 14:50:37 +02:00
Tim Schaub dadc240038 Merge pull request #9520 from lutzhelm/iiif-doc
[WIP] Improve IIIF tile source and parser documentation
2019-05-13 06:47:09 -06:00
Andreas Hocevar dd265623e4 Merge pull request #9523 from jahow/mapbox-simpler-example
Make the code simpler in the Mapbox example
2019-05-13 14:37:14 +02:00
Frederic Junod 23137cdab3 Use https urls for mapbox.com 2019-05-13 14:16:18 +02:00
Lutz Helm 1d08eb5752 Give a hint on how to parse IIIF info.json 2019-05-13 12:27:14 +02:00
Olivier Guyot 78cee60d91 Mapbox example / remove more unused code 2019-05-13 12:15:46 +02:00
Olivier Guyot 1deabaa1c0 Mapbox example / add mapbox css to avoid warning in console
Also remove manipulation of the mapbox canvas (not necessary anymore).
2019-05-13 11:42:28 +02:00
Olivier Guyot 88b6b18cc0 Mapbox example / remove overload of undocumented method
This was out of sync with mabox v54 and is not required anymore.
2019-05-13 11:38:45 +02:00
Andreas Hocevar 355fb41748 Merge pull request #9519 from jahow/mapbox-sync-render
Use synchronous render in Mapbox example
2019-05-13 11:37:26 +02:00
Olivier Guyot 7d2249f652 Mapbox example / trigger a synchronous redraw
This uses an undocumented method to trigger a synchronous redraw
instead of using the standard schedule from Mapbox. The CSS previously used
to make the OL and MB views match is not necessary anymore.

Reference: https://github.com/mapbox/mapbox-gl-js/issues/7893#issue-408992184
2019-05-13 11:16:36 +02:00
Lutz Helm 5e288ebedf Improve IIIF tile source doc 2019-05-13 11:15:20 +02:00
Lutz Helm 80eb8b62ce Display union types in IIIFInfo constructor doc 2019-05-13 11:14:43 +02:00
Lutz Helm cdb36a3bf2 Expose IIIFInfo methods for doc 2019-05-13 11:04:28 +02:00
Lutz Helm 04a28854c9 Make IIIFInfo#Versions appear in doc
For whatever reasons, the possible values of `Versions` did not appear
in the built docs.
2019-05-13 10:49:38 +02:00
Andreas Hocevar 51cf9ee3a1 Merge pull request #9518 from ahocevar/hitdetect-no-declutter
Fix hit detection for multiple layers when decluttering is off
2019-05-13 09:23:43 +02:00
Andreas Hocevar fbc8580539 Merge pull request #9517 from openlayers/greenkeeper/jsdoc-3.6.2
Update jsdoc to the latest version 🚀
2019-05-13 07:47:07 +02:00
ahocevar eeec56fa94 Fix hit detection for multiple layers when decluttering is off 2019-05-12 23:32:44 +02:00
Andreas Hocevar 17d83b9c20 Merge pull request #9516 from ahocevar/ol-mapbox-style-5
Upgrade ol-mapbox-style to v5
2019-05-12 21:33:21 +02:00
greenkeeper[bot] 2c9f6b496f chore(package): update jsdoc to version 3.6.2 2019-05-12 16:51:14 +00:00
ahocevar 5006bbe13f Upgrade ol-mapbox-style to v5 2019-05-12 17:34:39 +02:00
ahocevar a1026a50bd Bump beta version 2019-05-12 16:13:50 +02:00
Andreas Hocevar c117ec79f7 Merge pull request #9515 from openlayers/greenkeeper/fs-extra-8.0.0
Update fs-extra to the latest version 🚀
2019-05-12 15:48:25 +02:00
greenkeeper[bot] b37eb29444 chore(package): update fs-extra to version 8.0.0 2019-05-11 14:48:40 +00:00
Andreas Hocevar 4df545dfb0 Merge pull request #9505 from ahocevar/vectortile-pixelratio
Avoid blurry vector tiles
2019-05-10 14:56:10 +02:00
Tim Schaub 70f5822217 Merge pull request #9430 from lutzhelm/iiif
Adds IIIF Image API tile source
2019-05-10 06:32:28 -06:00
Frédéric Junod d49a41def0 Merge pull request #9512 from fredj/mapbox-layer-example
Mapbox layer example improvement
2019-05-10 14:18:00 +02:00
Frédéric Junod e4941f60db Merge pull request #9511 from fredj/update_dev_deps
Update devDependencies
2019-05-10 14:17:29 +02:00
Frederic Junod d1fe22a872 Simplify mapboxgl control container removal 2019-05-10 12:39:39 +02:00
Frederic Junod 5756003c88 Don't create temporary arrays in mapbox-layer example 2019-05-10 10:59:15 +02:00
Frederic Junod e5e2129a88 Use toLonLat function in mapbox-layer example 2019-05-10 10:48:45 +02:00
Frederic Junod c5e6728d6d Update mapbox-gl to version 0.54.0 2019-05-10 10:48:21 +02:00
Frederic Junod d9b3986c95 Update typescript to version 3.4.5 2019-05-10 10:15:30 +02:00
greenkeeper[bot] a67f8e3f38 chore(package): update serve-static to version 1.14.0 2019-05-10 10:14:40 +02:00
greenkeeper[bot] 7989991da9 chore(package): update glob to version 7.1.4 2019-05-10 10:14:30 +02:00
greenkeeper[bot] afa70e5a1e chore(package): update webpack-cli to version 3.3.2 2019-05-10 10:14:09 +02:00
greenkeeper[bot] ce9ea5cc93 chore(package): update loglevelnext to version 3.0.1 2019-05-10 10:13:22 +02:00
greenkeeper[bot] 5f5cdc9645 chore(package): update copy-webpack-plugin to version 5.0.3 2019-05-10 10:13:10 +02:00
greenkeeper[bot] 6370426d52 chore(package): update webpack-cli to version 3.3.1 2019-05-10 10:12:52 +02:00
greenkeeper[bot] fb7bd2158d chore(package): update sinon to version 7.3.2 2019-05-10 10:11:57 +02:00
greenkeeper[bot] 387b4188f2 chore(package): update front-matter to version 3.0.2 2019-05-10 10:11:44 +02:00
greenkeeper[bot] c922d4eb8f chore(package): update karma to version 4.1.0 2019-05-10 10:11:27 +02:00
Frédéric Junod 9d4eda2318 Merge pull request #9508 from openlayers/greenkeeper/webpack-4.31.0
Update webpack to the latest version 🚀
2019-05-10 10:09:04 +02:00
Lutz Helm bd235b7b49 Fix JSDoc error in IIIFInfo 2019-05-09 18:00:18 +02:00
Lutz Helm 7daba05548 Use quoted strings for accessing IIIF_PROFILE_VALUES 2019-05-09 18:00:18 +02:00
Lutz Helm 64e67ae351 Correct IIIF tile source doc 2019-05-09 18:00:18 +02:00
Lutz Helm 40ea2a8b7e Remove extent definition from IIIF example
See
https://github.com/openlayers/openlayers/pull/9430#pullrequestreview-232616993
2019-05-09 18:00:18 +02:00
Lutz Helm 4629fe5028 Add @api annotation for TileGrid#getExtent 2019-05-09 18:00:18 +02:00
Lutz Helm ba2c558b72 Add typedefs for IIIF info.json responses 2019-05-09 18:00:18 +02:00
Lutz Helm 84f1e0c66e Avoid minification/compilation errors in IIIFInfo
Unquoted properties might be renamed, resulting in errors while
accessing these properties via intented string values.
See also:
https://github.com/openlayers/openlayers/pull/9430#pullrequestreview-232622522
https://github.com/openlayers/openlayers/pull/9430#pullrequestreview-232622575
2019-05-09 18:00:18 +02:00
Lutz Helm 72e41d3703 Remove attribution generation from IIIFInfo
Generating attributions by injecting 3rd party HTML content introduces
XSS vulnerabilities, so with regard to upcoming Image API changes this
functionality is removed.
See also
https://github.com/openlayers/openlayers/pull/9430#issuecomment-482610729
2019-05-09 18:00:18 +02:00
Lutz Helm 6775723840 Fix error in IIIFInfo IIIF Image API v3 handling 2019-05-09 18:00:18 +02:00
Lutz Helm d332b6a0f4 Prepare IIIFInfo for JSON-LD context extensions
IIIF Image API 3 allows context extensions that should be added to the
info.json's @context property. Therefore, '@context' might be an array
instead of a string.
2019-05-09 18:00:18 +02:00
Lutz Helm f68b8d8df9 Make IIIF_PROFILE_VALUES consistent with it's doc 2019-05-09 18:00:18 +02:00
Lutz Helm c2cbae95c6 Fix codestyle in IIIFInfo tests 2019-05-09 18:00:18 +02:00
Lutz Helm b36ad87cb5 Extend IIIFInfo tests 2019-05-09 18:00:18 +02:00
Lutz Helm b7c004f95c Remove version specific IIIFInfo methods from class 2019-05-09 18:00:18 +02:00
Lutz Helm 7bfaa3b6ad Refactor IIIFInfo and add tests 2019-05-09 18:00:18 +02:00
Lutz Helm 0cffee6f83 Rename IIIFInfo format methods for more clarity 2019-05-09 18:00:18 +02:00
Lutz Helm 3895a59c5e Fix typo 2019-05-09 18:00:18 +02:00
Lutz Helm a2b39c9c53 Clean up and document IIIFInfo parser
Optional preferred options are now reduced to the two options that
depend on the image service's supported features: format and quality.
2019-05-09 18:00:18 +02:00
Lutz Helm 12154d98b4 Improve IIIF tile source documentation 2019-05-09 18:00:18 +02:00
Lutz Helm c25dba415f Add more IIIF tile source tests 2019-05-09 18:00:18 +02:00
Lutz Helm 27d943dcc3 Add tests for IIIF tile source and fix source
The tests are still incomplete.
This commit also corrects the IIIF source where tests have failed.
2019-05-09 18:00:18 +02:00
Lutz Helm 66b5b5d7e1 Cleanup IIIF example code 2019-05-09 18:00:18 +02:00
Lutz Helm 3cf9b5aa28 Add zDirection option to IIIF tile source 2019-05-09 18:00:18 +02:00
Lutz Helm b77177ed74 Fix errors in IIIF code
- missing import in IIIFInfo
- syntax errors in IIIF
2019-05-09 18:00:18 +02:00
Lutz Helm f61562a51a Remove unsupported options, document options 2019-05-09 18:00:18 +02:00
Lutz Helm e4a531de8c Declare IIIF versions as enum 2019-05-09 18:00:18 +02:00
Lutz Helm 063bc51c59 Rename IIIF features to supports
Avoid terminology confusion between OpenLayers map features and IIIF
region/size calculation capability features.
2019-05-09 18:00:18 +02:00
Lutz Helm 3f3fbe7e4b Remove IIIF source rounding workarounds
Always try to use canonical URI form. If the server serves wrong tile
heights for given w, shaped size request URI parameters, so be it.
2019-05-09 18:00:18 +02:00
Lutz Helm 01a6381756 Change the IIIF image example image 2019-05-09 18:00:18 +02:00
Lutz Helm 0ab7ad741f Add error codes for IIIF errors
60: "Missing or invalid `size`."
Without at least a size, no IIIF can be displayed.

61: "Cannot determine IIIF Image API version from provided image
information JSON."
Without finding out the version information, one could only guess how to
use the image info JSON.
2019-05-09 18:00:18 +02:00
Lutz Helm 58efe1f850 Limit IIIF tile source percentages to 10 decimals max
IIIF Image API versions 1 and 2 recommend limiting the number of
decimals digits to 10 at most.
2019-05-09 18:00:18 +02:00
Lutz Helm 66b41a53b8 Fix error in IIIF v3 level0 size paramter
Size request parameter in w,h form for level 0 services that only support
listed sizes had been using erroneous w,w instead of w,h.
2019-05-09 18:00:18 +02:00
Lutz Helm c00400c500 Add IIIF Image API tilesource with example
src/ol/source/IIIF.js contains a tile source for IIIF Image API services.
It supports Image API version 1 and 2 on compliance levels 0, 1 and 2.

To get working constructor options for IIIF from an IIIF image info.json,
use src/ol/format/IIIFInfo.js.

An example is available in examples/iiif.html respectivly examples/iiif.js.
2019-05-09 18:00:18 +02:00
greenkeeper[bot] 944af1fe80 chore(package): update webpack to version 4.31.0 2019-05-09 08:26:44 +00:00
Vincent Lecrubier ea55f39298 Support tilePixelRatio in Zoomify to support retina 2019-05-08 22:52:14 +02:00
ahocevar 84db84bc23 Avoid blurry vector tiles 2019-05-08 10:31:29 +02:00
Frédéric Junod f366eaea52 Merge pull request #9504 from fredj/examples_tsc
Minor examples fixes
2019-05-07 16:38:20 +02:00
Frederic Junod f5ae41f03e Compare Date with Date instead of number 2019-05-07 14:54:46 +02:00
Frederic Junod 6b1bce2b9d Add missing className property to BaseTile layer options 2019-05-07 14:54:46 +02:00
Frederic Junod bd57128ca4 Remove unsupported condition property
There's no `condition` property for the Extent interaction
2019-05-07 14:54:46 +02:00
Frederic Junod 5012e4987c Don't use View#constrainCenter function 2019-05-07 14:54:46 +02:00
Andreas Hocevar 6e3d3d4877 Merge pull request #9466 from ahocevar/declutter-global
Declutter in correct order and for all layers
2019-05-07 14:33:24 +02:00
Frederic Junod d30f6175ce Add function JSDoc tag 2019-05-07 13:52:48 +02:00
Frederic Junod 0e08d9e0fd Add empty declutterItems in RasterSource frameState
To please the type checker.
2019-05-07 13:52:25 +02:00
lucien 81f99f1579 Write placemark's ExtendedData tag after Style tag 2019-05-07 09:02:28 +02:00
Andreas Hocevar 4973281f3c Merge pull request #9497 from simonseyock/patch-2
Fix earth radius in documentation
2019-05-06 17:20:22 +02:00
Simon Seyock 8f3820be22 Fix earth radius in documentation 2019-05-06 16:26:49 +02:00
Andreas Hocevar 033a18bc1c Merge pull request #9493 from ahocevar/jsdoc-3-6
Upgrade jsdoc to v3.6.1
2019-05-06 09:51:39 +02:00
ahocevar 99fb0bf57e Revert "Try downgrading Node for JSDoc"
This reverts commit 284c1dff83.
2019-05-06 09:42:00 +02:00
ahocevar 49a9f21388 Upgrade jsdoc to v3.6.1 2019-05-05 21:29:19 +02:00
Andreas Hocevar e4d25400ee Merge pull request #9490 from jahow/improve-webgl-doc
Misc. API doc improvements
2019-05-05 19:30:12 +02:00
Andreas Hocevar 1e350677fb Merge pull request #9492 from ahocevar/unmanaged-zindex
Fix zIndex handling for unmanaged layers
2019-05-05 19:14:21 +02:00
ahocevar 86f304ae02 Fix typos 2019-05-05 15:11:22 +02:00
ahocevar 00c09eb281 Make rendering tests more cross-platform proof 2019-05-05 15:05:02 +02:00
ahocevar 6c8c8a6477 Fix decluttering on VectorImage layers 2019-05-05 14:54:23 +02:00
ahocevar 1142caf5e8 Modify render tests to catch regressions 2019-05-05 14:54:23 +02:00
ahocevar ba6ac43a28 Fix zIndex handling for unmanaged layers 2019-05-05 13:24:46 +02:00
ahocevar 12289b8ef9 Declutter in correct order and for all layers 2019-05-05 12:20:38 +02:00
Olivier Guyot f69c37566e Improve documentation on webgl and View 2019-05-04 17:26:05 +02:00
Tim Schaub 6cfd0b70ed Merge pull request #9388 from jahow/restore-coverage
Restore code coverage report
2019-05-03 08:33:45 -06:00
Tim Schaub d95bcc8594 Merge pull request #9487 from tschaub/examples-layout
Avoid header expanding over examples
2019-05-03 08:28:27 -06:00
Olivier Guyot d3e6f4c3b2 Restore code coverage in Karma config
The transpiling step is done by babel instead of bublé now.
Bublé caused the istanbul instrumenter step to crash because of an
unexpected SourceMap object format.
2019-05-03 15:15:14 +02:00
Frédéric Junod eb21369d86 Merge pull request #9488 from openlayers/codesandbox_lang_attr
Set the 'lang' attribute to the html tag in examples
2019-05-03 14:31:31 +02:00
Frederic Junod 68a29f1ac6 Set the 'lang' attribute to the html tag in examples 2019-05-03 11:32:33 +02:00
Tim Schaub 6413badada Avoid header expanding over examples 2019-05-02 18:31:56 -06:00
Frédéric Junod d6485b1e94 Merge pull request #9486 from openlayers/greenkeeper/jquery-3.4.1
Update jquery to the latest version 🚀
2019-05-02 08:45:13 +02:00
greenkeeper[bot] 98a5f552b2 chore(package): update jquery to version 3.4.1 2019-05-01 21:22:51 +00:00
Tim Schaub 067260170b Merge pull request #9484 from tschaub/ci-docs
Build API docs in CI job
2019-05-01 12:44:33 -06:00
Tim Schaub 9850c0134e Merge pull request #9476 from tschaub/event-longnames
Document events fired by interactions
2019-05-01 10:04:58 -06:00
Tim Schaub 284c1dff83 Try downgrading Node for JSDoc 2019-05-01 10:03:17 -06:00
Tim Schaub d166c79242 Build API docs in CI job 2019-05-01 09:06:40 -06:00
Tim Schaub e4f377fb46 Merge pull request #9475 from tschaub/single-color-callback
Call the color callback once per feature
2019-04-29 09:14:40 -06:00
Tim Schaub e22af6dbd6 Merge pull request #9477 from tschaub/unused
Tidy up the JSDoc events plugin
2019-04-29 06:18:22 -06:00
Tim Schaub 0f998b4522 Link to the extent event instead of the extent event type 2019-04-28 16:36:33 -06:00
Tim Schaub 2cdfcf8b21 Latest jsdoc plugin for event longnames 2019-04-28 16:26:14 -06:00
Tim Schaub b3e770226f Smaller scope 2019-04-28 16:03:54 -06:00
Tim Schaub 981328576f Remove unused classes lookup 2019-04-28 16:00:43 -06:00
Tim Schaub 3b1a415d6b Call the color callback once per feature 2019-04-28 14:09:31 -06:00
Andreas Hocevar fde36b237e Merge pull request #9469 from ahocevar/vectortile-zdirection
Use nearest lower resolution of vector tiles
2019-04-26 15:12:41 +02:00
ahocevar dde9c59021 Use nearest lower resolution of vector tiles 2019-04-26 14:29:09 +02:00
Frédéric Junod a12b323907 Merge pull request #9468 from openlayers/greenkeeper/puppeteer-1.15.0
Update puppeteer to the latest version 🚀
2019-04-26 08:42:08 +02:00
greenkeeper[bot] 1687f9bb84 chore(package): update puppeteer to version 1.15.0 2019-04-26 02:33:10 +00:00
Tim Schaub 9a12a668a2 Merge pull request #9452 from tschaub/color-callback
Fewer calls to the WebGL color callback
2019-04-24 09:46:41 -06:00
Tim Schaub b98268ffee Merge pull request #9453 from tschaub/for-key-in-uniforms
Remove unnecessary closure and fix uniform type
2019-04-23 17:20:26 -06:00
Frédéric Junod 4d1ae3d483 Merge pull request #9459 from fredj/html-to-image
Use html-to-image instead of dom-to-image-more
2019-04-23 11:53:57 +02:00
Frederic Junod 2f6f110fa3 Remove constrainResolution property in fit options 2019-04-23 10:19:21 +02:00
Frederic Junod 93c25d4f82 Export the map viewport instead of the layers
And filter out the controls elements
2019-04-23 10:17:16 +02:00
Frederic Junod 2ac1095c52 Use html-to-image instead of dom-to-image-more
dom-to-image-more do not support safari
2019-04-23 09:58:31 +02:00
Tim Schaub d5b868f4a6 Version without v 2019-04-22 09:22:20 -06:00
Tim Schaub 17081fac46 Bump to v6.0.0-beta.6
The version must point to an existing tag for published examples to work.
2019-04-22 09:15:27 -06:00
Andreas Hocevar 4a18b57021 Merge pull request #9450 from ahocevar/later-interacting-flag
Set the interacting flag on pointerdrag instead of pointerdown
2019-04-19 17:51:33 -07:00
Tim Schaub 58c4c9ebb8 Remove unnecessary closure and fix uniform type 2019-04-19 14:33:43 -07:00
Tim Schaub a16234faaa Allow color callback without third arg 2019-04-19 13:57:40 -07:00
Tim Schaub 154265a2d9 Fewer calls to the color callback 2019-04-19 13:49:53 -07:00
Andreas Hocevar 440ae897a5 Merge pull request #9444 from openlayers/greenkeeper/mocha-6.1.4
Update mocha to the latest version 🚀
2019-04-19 10:11:46 -07:00
ahocevar 86fac0937b Set the interacting flag on pointerdrag instead of pointerdown 2019-04-19 09:42:12 -07:00
greenkeeper[bot] 682102d4d6 chore(package): update mocha to version 6.1.4 2019-04-18 18:59:28 +00:00
Tim Schaub 22774b4821 Bump to 6.0.0-beta 2019-04-18 10:09:58 -07:00
Andreas Hocevar 046e73e785 Merge pull request #9439 from ahocevar/vectortile-attributions
Add attributionsCollapsible option to source/VectorTile
2019-04-18 07:36:50 -07:00
Tim Schaub a71a823676 Merge pull request #9440 from tschaub/csv-parsing
Skip the header and bad data in CSV parsing
2019-04-17 23:25:02 -07:00
Andreas Hocevar 3ba7ecc602 Merge pull request #9442 from ahocevar/raster-no-transition
Disable opacity transition for raster source sources
2019-04-17 18:21:38 -07:00
ahocevar 887d8e8a90 Disable opacity transition for raster source sources 2019-04-17 17:38:50 -07:00
Andreas Hocevar 251fc79484 Merge pull request #9441 from ahocevar/view-center-no-round
Do not round view center to pixels
2019-04-17 16:30:00 -07:00
Tim Schaub fc0ed7b96f Skip the header and bad data 2019-04-17 16:26:40 -07:00
ahocevar 752b69680e Do not round view center to pixels 2019-04-17 15:52:58 -07:00
ahocevar 756f63e212 Add attributionsCollapsible option to source/VectorTile 2019-04-17 09:06:37 -07:00
Frédéric Junod 84a82ea5b2 Merge pull request #9435 from fredj/api_default
Set the default values after the property name
2019-04-17 08:29:28 +02:00
Frederic Junod 08dd5f58a2 Set the default values after the property name 2019-04-15 16:44:06 +02:00
Frédéric Junod 04963c83d6 Merge pull request #9433 from fredj/cleanup
Remove unused private variables, remove trailing whitespace
2019-04-15 13:36:54 +02:00
Frederic Junod 711dacf4b7 Remove unused private variables, remove trailing whitespaces 2019-04-15 11:31:18 +02:00
Frédéric Junod 6fbd196132 Merge pull request #9416 from fredj/circle_rotate
Implement rotate and translate functions for circle geometry
2019-04-15 08:22:29 +02:00
Andreas Hocevar 5969ac31ea Merge pull request #9432 from openlayers/greenkeeper/handlebars-4.1.2
Update handlebars to the latest version 🚀
2019-04-13 22:23:22 +02:00
greenkeeper[bot] 21c51ff784 chore(package): update handlebars to version 4.1.2 2019-04-13 14:21:50 +00:00
Tim Schaub 3d10e92218 Merge pull request #9431 from openlayers/greenkeeper/webpack-4.30.0
Update webpack to the latest version 🚀
2019-04-13 06:32:19 -06:00
greenkeeper[bot] 84371fe4be chore(package): update webpack to version 4.30.0 2019-04-12 20:36:52 +00:00
Frédéric Junod 1995164219 Merge pull request #9429 from fredj/update_dev_deps
Update all devDependencies
2019-04-12 12:42:10 +02:00
greenkeeper[bot] 4f128a1ec0 chore(package): update ol-mapbox-style to version 4.3.1 2019-04-12 10:59:30 +02:00
greenkeeper[bot] f11744da56 chore(package): update webpack-dev-server to version 3.3.1 2019-04-12 10:25:32 +02:00
greenkeeper[bot] 08434ed3d5 chore(package): update webpack-dev-middleware to version 3.6.2 2019-04-12 10:24:32 +02:00
greenkeeper[bot] 2c76d7531b chore(package): update globby to version 9.2.0 2019-04-12 10:24:17 +02:00
greenkeeper[bot] bbec7d76d4 chore(package): update eslint to version 5.16.0 2019-04-12 10:24:03 +02:00
greenkeeper[bot] 255c4b34ba chore(package): update sinon to version 7.3.1 2019-04-12 10:23:46 +02:00
greenkeeper[bot] fd220f9cce chore(package): update copy-webpack-plugin to version 5.0.2 2019-04-12 10:23:19 +02:00
greenkeeper[bot] 34d68aadbd chore(package): update @types/geojson to version 7946.0.7 2019-04-12 10:22:37 +02:00
greenkeeper[bot] 3bc822e8ef chore(package): update @openlayers/eslint-plugin to version 4.0.0-beta.2 2019-04-12 10:22:11 +02:00
Frédéric Junod 7340e865a3 Merge pull request #9427 from openlayers/greenkeeper/mocha-6.1.3
Update mocha to the latest version 🚀
2019-04-12 08:41:43 +02:00
Frédéric Junod 5b231fe990 Merge pull request #9425 from fredj/rm_unused_webgl
Remove unused ol/render/webgl module
2019-04-12 08:41:24 +02:00
greenkeeper[bot] 9c55256de2 chore(package): update mocha to version 6.1.3 2019-04-12 00:32:49 +00:00
Frederic Junod 491020f027 Remove unused ol/render/webgl module 2019-04-11 16:37:50 +02:00
Frederic Junod 2989c84248 Implement translate function for circle geometry 2019-04-11 16:12:41 +02:00
Andreas Hocevar db1515a9f3 Merge pull request #9420 from openlayers/greenkeeper/jquery-3.4.0
Update jquery to the latest version 🚀
2019-04-11 09:06:34 +02:00
greenkeeper[bot] a774b1a278 chore(package): update jquery to version 3.4.0 2019-04-10 19:55:54 +00:00
Andreas Hocevar 81865f70e4 Merge pull request #9418 from ahocevar/reexport-geometrycollection
Re-export GeometryCollection in ol/geom
2019-04-10 10:30:33 +02:00
Frédéric Junod c6db2d07bb Use .js extension for import
Co-Authored-By: ahocevar <andreas.hocevar@gmail.com>
2019-04-10 09:09:50 +02:00
ahocevar 91215b303e Re-export GeometryCollection in ol/geom 2019-04-09 20:08:11 +02:00
Frederic Junod 319a905ec0 Implement rotate function for circle geometry 2019-04-09 16:58:44 +02:00
Frédéric Junod 9883b7d3d9 Merge pull request #9411 from fredj/raster_state_test
Fix tile state condition in raster layer test
2019-04-09 08:27:43 +02:00
Frédéric Junod 07e31840eb Merge pull request #9410 from fredj/MouseWheelZoom_max_zoom
Add new maxDelta property to MouseWheelZoom constructor
2019-04-09 08:27:27 +02:00
Andreas Hocevar 03483b5439 Merge pull request #9412 from openlayers/greenkeeper/mocha-6.1.2
Update mocha to the latest version 🚀
2019-04-08 21:36:22 +02:00
greenkeeper[bot] 9a42ab73d8 chore(package): update mocha to version 6.1.2 2019-04-08 19:02:57 +00:00
Frederic Junod 746f92d597 Fix tile state condition in raster layer test
The state was duplicated from the beginning, see 3ddb8712a3
2019-04-08 17:04:37 +02:00
Frederic Junod 238fbca650 Add new maxDelta property to MouseWheelZoom constructor 2019-04-08 15:02:21 +02:00
Frédéric Junod 3875147812 Merge pull request #9409 from fredj/rm_opt_this
Remove more opt_this parameters
2019-04-08 14:37:59 +02:00
Frederic Junod be065cdacc Update upgrade-notes 2019-04-08 13:46:54 +02:00
Frederic Junod 187f58c1c3 Remove opt_this param in ol/extent 2019-04-08 13:46:54 +02:00
Frederic Junod c20bdedcac Remove opt_this param in ol/structs/LRUCache 2019-04-08 13:46:54 +02:00
Frederic Junod 617dd9f031 Remove opt_this param in ol/structs/RBush 2019-04-08 13:46:54 +02:00
Frédéric Junod 077afac90a Merge pull request #9408 from openlayers/greenkeeper/mocha-6.1.1
chore(package): update mocha to version 6.1.1
2019-04-08 10:26:54 +02:00
Frédéric Junod f091d96b6c Merge pull request #9406 from openlayers/greenkeeper/clean-css-cli-4.3.0
Update clean-css-cli to the latest version 🚀
2019-04-08 08:48:03 +02:00
greenkeeper[bot] a30aa78726 chore(package): update mocha to version 6.1.1
Closes #9407
2019-04-07 23:07:05 +00:00
greenkeeper[bot] 66f49559ee chore(package): update clean-css-cli to version 4.3.0 2019-04-06 09:49:54 +00:00
Andreas Hocevar 8899c3e3c5 Merge pull request #9405 from openlayers/greenkeeper/marked-0.6.2
Update marked to the latest version 🚀
2019-04-05 17:39:42 +02:00
Andreas Hocevar 10a2b718f5 Merge pull request #9286 from ahocevar/interim-transition
Disable transition when an interim tile is available
2019-04-05 17:33:58 +02:00
Andreas Hocevar c72f699c90 Merge pull request #9404 from jahow/fix-view-jump-glitch
View / apply constraints when an interaction starts
2019-04-05 17:30:33 +02:00
ahocevar 16e132caea Mark new animate_ method private 2019-04-05 17:21:23 +02:00
ahocevar 070c1ec029 Resolve constraints for View#animate() API calls 2019-04-05 17:13:55 +02:00
greenkeeper[bot] 21c26cabed chore(package): update marked to version 0.6.2 2019-04-05 14:34:13 +00:00
Olivier Guyot 0f73f16cfa View / apply constraints when an interaction starts
Previously, an interaction could begin while target values
(center/resolution) were out of the allowed range, causing a
glitch where the view zoom/position would jump suddenly.
2019-04-05 11:55:35 +02:00
Andreas Hocevar dfa8506549 Merge pull request #9390 from jahow/add-webgl-filtering
Add a new WebGL example for filtering features
2019-04-04 12:34:20 +02:00
Kai Volland 9860699d5f Introduces import snippets for static functions
Adds snippets for import of modules and their
exported functions to the API documentation.
2019-04-04 10:07:55 +02:00
Kai Volland c9939d2bff Replaces reproj image.tests.js and tile.tests.js
Transforms the old rendering tests for
ReprojImage and ReprojTile to the new
rendering test approach.
2019-04-03 11:01:32 +02:00
Olivier Guyot 8fb6ed5c6f Add a new webgl example with real time feature filtering 2019-04-02 23:46:13 +02:00
Olivier Guyot c6a859d1ed Webgl / clarify premultiplied alpha handling
By default, alpha premultiplying should be done by the initial rendering
(eg quads) and not the final post processing pass.

The default post processing pass expects premultiplied color values and
will not do this operation itself.
2019-04-02 22:12:47 +02:00
Olivier Guyot b955579a9c Webgl / clarified the buffer binding/flushing logic
The Webgl points layer renderer has also been optimized accordingly,
giving out much better performance.
2019-04-02 21:05:31 +02:00
Marc Jansen 7c1df60d06 Merge pull request #9387 from openlayers/greenkeeper/puppeteer-1.14.0
Update puppeteer to the latest version 🚀
2019-03-30 10:59:37 +01:00
greenkeeper[bot] 0583bc0cc8 chore(package): update puppeteer to version 1.14.0 2019-03-30 00:13:09 +00:00
Andreas Hocevar c9de49e56e Merge pull request #9385 from Kai-W/master
PointsLayer added clear of the render Buffers on Source Change
2019-03-29 12:50:16 +01:00
Kai-W 275a22b685 Added clear of the render Buffers on Source Change 2019-03-28 17:21:43 +01:00
Andreas Hocevar 7091ed3de6 Merge pull request #9379 from openlayers/vectortile-typo
Fix typo in vector tile source docs
2019-03-27 12:50:35 +01:00
Andreas Hocevar 7ebae2ba80 Fix typo in vector tile source docs 2019-03-26 14:54:44 +01:00
Andreas Hocevar 9eb9fffc94 Merge pull request #9368 from ahocevar/multiworld
Show only one world
2019-03-26 14:17:21 +01:00
Marc Jansen 061965ecb7 Merge pull request #9362 from KaiVolland/text-rendering
Use local font "Ubuntu Regular" for rendering tests
2019-03-25 22:08:05 +01:00
Andreas Hocevar 3a7f9d93f4 Merge pull request #9357 from ahocevar/vectortile-view-resolution-2
Render vector tiles at the view resolution
2019-03-25 17:44:31 +01:00
ahocevar 3940b5ec88 Show only one world 2019-03-25 14:49:13 +01:00
Andreas Hocevar a95481a8fe Merge pull request #9374 from jahow/fix-initialzoom
Fix view initialization with min/max resolution constraint
2019-03-25 14:33:25 +01:00
Olivier Guyot 77a1628610 Tests / remove view extent constraint on zoomify tests 2019-03-25 14:03:40 +01:00
Olivier Guyot c08da3c694 Map / resolve view constraints when resized/view changed
This makes the `resolveConstraints` view method public but not part of the
api.
2019-03-25 13:38:51 +01:00
Olivier Guyot 98994cad61 View / tests now pass without smoothResolutionConstraint: false 2019-03-25 13:21:10 +01:00
Olivier Guyot 91dda5e5ca View / refactor initialization with resolution constraint
This also makes it possible to call `solveConstraints_` with a duration of 0,
which means the target values are modified straight away without triggering
an animation or leaving the current flow.
2019-03-25 13:21:10 +01:00
Olivier Guyot b63c4188e4 View / add tests for parameter initialization with constraints 2019-03-25 13:18:49 +01:00
Olivier Guyot 10423ddbe4 Fix View method name in upgrade notes
See #9349
2019-03-25 13:18:49 +01:00
Andreas Hocevar f32e097051 Merge pull request #9364 from KaiVolland/clip-rendering
Replace clip.test.js with new tests
2019-03-25 12:18:37 +01:00
Andreas Hocevar 1be6050da8 Merge pull request #9360 from KaiVolland/9281-rastersouce-attributions
Enables attributions for the RasterSource
2019-03-25 12:10:57 +01:00
Kai Volland 62ebe29ead Enables attributions for the RasterSource
Attributions included in the passed sources are concatenated.
2019-03-25 11:47:45 +01:00
Kai Volland ef061dd4c3 Updates font settings for rendering tests
This updates font name and size for renderinge tests that
include TextStyles.
2019-03-25 11:39:10 +01:00
Kai Volland bff3e88343 Replaces clip.test.js with new tests
Transforms the old rendering test for
layer clipping to the new rendering test approach.
2019-03-25 11:13:04 +01:00
ahocevar 3d2711d35e Add missing arg type 2019-03-24 21:24:30 +01:00
Andreas Hocevar 927a98ac5b Merge pull request #9365 from jahow/patch-1
Fix View method name in upgrade notes
2019-03-22 15:30:56 +01:00
Olivier Guyot 8983ebdc69 Fix View method name in upgrade notes
See #9349
2019-03-22 13:30:58 +01:00
Kai Volland 681a8f1d9c Replaces remaining vectorimage.tests.js
Transforms the old rendering tests for the VectorImageLayer
decluttering to the new rendering test approach.
2019-03-22 10:14:41 +01:00
Andreas Hocevar 447117be4f Merge pull request #9361 from lutzhelm/9343-zdirection
Add a zDirection option for Zoomify - implements #9343
2019-03-21 19:12:41 +01:00
ahocevar 681c3169c1 Add zDirection memeber to the baes class, for type checking 2019-03-21 18:50:03 +01:00
Kai Volland 5665da6518 Use local font "Ubuntu Regular" for rendering tests
Set local font for all rendering tests including
TextStyles to enhance comparability on different
systems.
2019-03-21 15:06:07 +01:00
Lutz Helm 085c60af49 Remove tile source zDirection getter
The renderer now accesses the zDirection member directly if it exists.
This also has the advantage of not advertising any object methods that
hav no use for most tile sources.
2019-03-21 14:47:09 +01:00
Lutz Helm 2bf217207e Test renderer behavior for Zoomify zDirection
The zDirection addition to the Zoomify tile source only takes effect through
the renderer, so these two renderer cases are added to test the behavior.

zoomify-no-zdirection expects the default behavior.
zoomify-zdirection expects the tiles for the next better resolution.
2019-03-21 11:51:42 +01:00
Lutz Helm f5abb45de0 Add a zDirection option for Zoomify
Via zDirection, the renderer's selection of a tile source's resolution can be
controlled if the view's resolution does not match any tile source resolution.

Currently the zDirection option is only available for Zoomify. The comment
https://github.com/openlayers/openlayers/issues/9343#issuecomment-474341033
describes why caution is advised when using zDirection for other sources.

ol/source/Tile~TileSource#getZDirection has been added to avoid having the
getZDirection method solely in the Zoomify source - just to document the
possibility.
2019-03-21 10:06:22 +01:00
ahocevar fefcc9f0ca Return directly when all we do is render queued images 2019-03-20 23:04:48 +01:00
ahocevar d2f60a70d1 Recreate instructions for the view resolution 2019-03-20 22:45:17 +01:00
ahocevar a25ca03040 Do not use tile.load() for getting source tiles 2019-03-20 22:45:17 +01:00
ahocevar 461256767e Make pattern fills work on a scaled canvas 2019-03-20 22:25:25 +01:00
Tim Schaub c4279ff665 Merge pull request #9333 from KaiVolland/unify-rendering-tests
Unify rendering tests
2019-03-20 08:34:54 -07:00
Frédéric Junod ad5c9ac589 Merge pull request #9350 from fredj/cleanup_examples
Remove unnecessary css in examples
2019-03-19 16:21:51 +01:00
Andreas Hocevar 458f1d0f64 Merge pull request #9351 from ahocevar/default-styles
More efficient default styles
2019-03-19 15:56:49 +01:00
ahocevar b06c84cef9 More efficient default stroke style 2019-03-19 13:58:20 +01:00
ahocevar b33ceaa400 More efficient default fill color 2019-03-19 13:57:10 +01:00
Kai Volland 7510a19c73 Replaces vectorimage.tests.js (partially)
Transforms the old rendering tests for the VectorImageLayer
to the new rendering test approach.
The declutter tests are kept in the old format for know.
2019-03-19 11:30:45 +01:00
Kai Volland ac3a2d960a Replaces tile.tests.js (partially) with new tests
Transforms the old rendering tests for the TileLayer
to the new rendering test approach.
The render-listener test is kept in the old format for know.
2019-03-18 16:39:37 +01:00
Frederic Junod d5f92843a9 Remove unnecessary css in examples 2019-03-18 16:19:01 +01:00
Kai Volland fc878fd539 Replaces vectortile.tests.js with new tests
Transforms the old rendering tests for the VectorTileLayer
to the new rendering test approach.
2019-03-18 16:15:58 +01:00
Frédéric Junod 84bf801b52 Merge pull request #9346 from fredj/cleanup
Remove tilePixelRatio options from ol.source.VectorTile
2019-03-18 16:12:28 +01:00
Kai Volland f555048319 Replaces vector.tests.js with new tests
Transforms the old rendering tests for the LayerVector
to the new rendering test approach.
2019-03-18 15:39:48 +01:00
Frederic Junod 72788187c8 Remove tilePixelRatio options from ol.source.VectorTile
Was removed in #7070
2019-03-18 14:35:58 +01:00
Kai Volland 6759641715 Replaces image.tests.js with new tests
Transforms the old rendering tests for the ImageLayer
to the new rendering test approach.
2019-03-18 13:56:45 +01:00
Frédéric Junod e12a0ea0ff Merge pull request #9345 from fredj/devDependencies
Update all dev dependencies
2019-03-18 11:53:01 +01:00
greenkeeper[bot] 508d980514 chore(package): update webpack-cli to version 3.3.0 2019-03-18 11:13:50 +01:00
greenkeeper[bot] c52566a244 chore(package): update eslint to version 5.15.2 2019-03-18 11:13:02 +01:00
greenkeeper[bot] 5803727409 chore(package): update ol-mapbox-style to version 4.2.1 2019-03-18 11:12:50 +01:00
greenkeeper[bot] 1d88528686 chore(package): update buble to version 0.19.7 2019-03-18 11:12:39 +01:00
greenkeeper[bot] 3a4be21a25 chore(package): update copy-webpack-plugin to version 5.0.1 2019-03-18 11:12:11 +01:00
greenkeeper[bot] 16419b3281 chore(package): update pngjs to version 3.4.0 2019-03-18 11:11:58 +01:00
greenkeeper[bot] 6d50f43448 chore(package): update webpack-dev-middleware to version 3.6.1 2019-03-18 11:11:40 +01:00
greenkeeper[bot] f1bfccbfe6 chore(package): update yargs to version 13.2.2 2019-03-18 11:10:50 +01:00
greenkeeper[bot] a56e8719d3 chore(package): update url-polyfill to version 1.1.5 2019-03-18 11:10:15 +01:00
greenkeeper[bot] 85e2ffa63f chore(package): update sinon to version 7.2.7 2019-03-18 11:09:57 +01:00
greenkeeper[bot] 1b91400ebc chore(package): update karma to version 4.0.1 2019-03-18 11:08:53 +01:00
greenkeeper[bot] 48156af617 chore(package): update terser-webpack-plugin to version 1.2.3 2019-03-18 11:08:34 +01:00
greenkeeper[bot] c510fe268b chore(package): update webpack-dev-server to version 3.2.1 2019-03-18 11:08:19 +01:00
Kai Volland 912fb03564 Fixes RasterSource tests
Puppeteer/TestSuite seems to have
problems with webworker so threads is set
to 0
2019-03-18 10:33:05 +01:00
Andreas Hocevar 3f7c52c29f Merge pull request #9342 from openlayers/greenkeeper/handlebars-4.1.1
Update handlebars to the latest version 🚀
2019-03-17 11:53:10 +01:00
Andreas Hocevar 9284ba47a4 Merge pull request #9341 from ahocevar/remove-unused
Remove unused ExecutorGroup methods
2019-03-17 11:46:08 +01:00
greenkeeper[bot] 4a405cc975 chore(package): update handlebars to version 4.1.1 2019-03-16 21:30:46 +00:00
ahocevar 5857117625 Remove unused ExecutorGroup methods 2019-03-16 21:29:49 +01:00
Frédéric Junod 75d9ade613 Merge pull request #9337 from fredj/codesandbox_div_size
Set map div size in example send to codesandbox
2019-03-15 15:15:59 +01:00
Kai Volland 58cebcc97f Replaces tilewms.tests.js with new tests
Transforms the old rendering tests for the TileWMSSource
to the new rendering test approach.
2019-03-15 14:30:23 +01:00
Kai Volland 3f8da79893 Replaces raster.tests.js with new tests
Transforms the old rendering tests for the RasterSource
to the new rendering test approach.
2019-03-15 14:04:23 +01:00
Frederic Junod 5f8450d67d Set map div size in example send to codesandbox 2019-03-15 13:53:58 +01:00
Kai Volland d89b909187 Replaces text.tests.js with new tests
Transforms the old rendering tests for the TextStyle
to the new rendering test approach.
2019-03-15 12:11:13 +01:00
Kai Volland f79b358c92 Replaces regularshape.tests.js with new tests
Transforms the old rendering tests for the regularshape
to the new rendering test approach.
2019-03-15 10:42:47 +01:00
Kai Volland e4ef5c789c Removes map.tests.js renders 2019-03-15 10:42:47 +01:00
Kai Volland d871196e16 Removes linestring.test.js
Removes linestring.test.js and related pngs as linestring
style is already tested with the new approach.
2019-03-15 10:42:47 +01:00
Kai Volland 595b74d04e Replaces map.tests.js with new tests
Transforms the old rendering test for the Map
to the new rendering test approach.
2019-03-15 10:42:47 +01:00
Kai Volland de0f5d44a3 Replaces circle.tests.js with new tests
Transforms the old rendering test for the CircleStyle
to the new rendering test approach.
2019-03-15 10:42:47 +01:00
Frédéric Junod 1637cffbe9 Merge pull request #9335 from openlayers/codesandbox_template
Create codesandbox using the 'parcel' template
2019-03-14 16:24:24 +01:00
Frederic Junod 2f28f89c59 Create codesandbox using the 'parcel' template
The default template is `create-react-app` and this one ignores the `head` tag defined in out `index.html`
2019-03-14 15:08:01 +01:00
Frédéric Junod de7afee96d Merge pull request #9329 from fredj/cluster_refresh
Don't refresh the layer after addFeatures call
2019-03-14 11:04:28 +01:00
Frederic Junod 92cb9f1c51 Don't refresh the layer after addFeatures call 2019-03-14 10:25:19 +01:00
Frédéric Junod 7896fa894d Merge pull request #9328 from fredj/cleanup
Mark layerFilter in AtPixelOptions as optional
2019-03-14 09:17:28 +01:00
Andreas Hocevar d6f7533c76 Merge pull request #9325 from ahocevar/no-round
Create a more accurate origin for tile positioning
2019-03-14 09:12:19 +01:00
ahocevar 4a9d2e689e Create a more accurate origin for tile positioning 2019-03-13 18:34:23 +01:00
Andreas Hocevar df3d771c53 Merge pull request #9320 from RobertOrthofer/master
enhance tile-debug readability
2019-03-13 12:16:23 +01:00
Robert Orthofer 0aa14db88b move stroke behind text to achieve halo 2019-03-13 09:31:01 +01:00
Andreas Hocevar d75caaa3df Merge pull request #9318 from ahocevar/smart-cache-size
Smart cache size
2019-03-13 08:17:24 +01:00
Andreas Hocevar cfc79254d0 Merge pull request #9322 from ahocevar/render-to-source-resolution
Use closest lower source resolution for render tiles
2019-03-13 08:15:25 +01:00
ahocevar ac0d67b273 Use closest lower source resolution for render tiles 2019-03-12 16:51:20 +01:00
Andreas Hocevar 17b37a90da Merge pull request #9321 from KaiVolland/inheritdoc
Fixes #9294 (missing documention for methods with `@inheritDoc`)
2019-03-12 15:26:26 +01:00
Kai Volland 72d38fa929 Fixes missing methods with @inheritdoc
- This sets ignore to false if a method tagged with
inheritdoc has a matching ancestor. It also stops iterating
when a match is found.
- Outdated TODO is removed, too.
2019-03-12 15:07:03 +01:00
Robert Orthofer a051892b92 enhance tile-debug readability
this commit enhances the readability of
tile debug coordinates by adding a stroke
for better readability on aerial imagery
and a maxWidth for high zoom levels
2019-03-12 12:48:26 +01:00
Tim Schaub c573d53297 Merge pull request #9319 from tschaub/licensed
Add title to license to clarify that it is BSD 2-Clause
2019-03-12 04:21:54 -06:00
ahocevar b4fc249991 Faster calculation of target size
Since usedTiles and wantedTiles will never have an overlap, we can use their
key count directly.
2019-03-12 08:53:52 +01:00
Frédéric Junod c321c90497 Merge pull request #9300 from fredj/f9299
Fix documentation about zoomDelta for ol.interaction.default function
2019-03-12 08:31:30 +01:00
ahocevar cb2b57232c Add tests 2019-03-12 08:11:17 +01:00
Tim Schaub 90c3c1db81 Add title to license to clarify that it is BSD 2-Clause
The BSD 2-Clause License is a simplified version of the BSD 3-Clause License.  This license was popularized by the FreeBSD project and is sometimes referred to as the "FreeBSD License" (see https://opensource.org/licenses/BSD-2-Clause and https://en.wikipedia.org/wiki/BSD_licenses#2-clause).  To clarify that the OpenLayers License uses the BSD 2-Clause License template, this change adds "The 2-Clause BSD License" to the top of our license file.  In addition, this change makes our license a verbatim copy of the template at https://opensource.org/licenses/BSD-2-Clause with only the copyright holders added.  This change is not intended to change the project's license, only to clarify the template used for that license.  See https://lists.osgeo.org/pipermail/openlayers-dev/2011-May/007555.html for the original motion to switch to the BSD 2-Clause License (also known as the FreeBSD License).
2019-03-11 22:27:35 -06:00
ahocevar 11f5a4c5b8 Move tile specific methods to the tile layer renderer 2019-03-12 00:19:51 +01:00
ahocevar 0f217392d7 Adjust tile cache size when too small 2019-03-12 00:19:13 +01:00
Andreas Hocevar b54b7c5989 Merge pull request #9305 from KaiVolland/fix-scaleline-test
Fixes failing tests for Chrome v74
2019-03-11 15:30:01 +01:00
Kai Volland 1348d76a33 Updates test renders
Rendering has changed due to change of browser test version.
2019-03-11 15:13:13 +01:00
Frederic Junod 4a13bf2fa9 Mark layerFilter in AtPixelOptions as optional 2019-03-11 15:11:16 +01:00
Frederic Junod d71fa78ee2 Remove unused template tag 2019-03-11 15:10:32 +01:00
Frédéric Junod c0d4cdbabf Merge pull request #9315 from fredj/f9290
Change CSS class for tooltips in measure example
2019-03-11 14:37:43 +01:00
Frederic Junod 76aa26e3e9 Change CSS class for tooltips in measure example 2019-03-11 14:24:57 +01:00
Kai Volland fcf6e81430 Fixes issue with ScaleLine
Math.pow with negative exponents is inaccurate in chrome v74. `toFixed`
is called on the result to fix this.
2019-03-11 13:31:49 +01:00
Andreas Hocevar dfabcc0c66 Merge pull request #9137 from jahow/add-view-constrain-extent-2
Refactor the way view constraints are handled & add a view extent constraint
2019-03-11 10:38:31 +01:00
Andreas Hocevar 3282c74de6 Merge pull request #9311 from openlayers/greenkeeper/pbf-3.2.0
Update pbf to the latest version 🚀
2019-03-11 10:29:17 +01:00
Andreas Hocevar dee36639bd Merge pull request #9313 from ahocevar/interpolate-tests
Re-enable and fix disabled tests
2019-03-11 10:18:00 +01:00
Andreas Hocevar 5a578c00a7 Merge pull request #9314 from ahocevar/fix-transpile
Fix transpilation
2019-03-11 10:17:32 +01:00
ahocevar e8243b73b5 Fix transpilation 2019-03-11 10:11:05 +01:00
ahocevar 404b04ae59 Re-enable and fix disabled tests 2019-03-11 09:30:04 +01:00
Andreas Hocevar 8a02a6f9f1 Merge pull request #9308 from ahocevar/vectortile-loader-projection
Simplify vector tile projection handling
2019-03-11 09:28:48 +01:00
Bart van den Eijnden 4a67bd86a8 Merge pull request #9312 from bartvde/stamen-minzoom
Update zoom levels for Stamen source
2019-03-11 09:17:50 +01:00
Frédéric Junod feb1a9f31b Merge pull request #9310 from fredj/stamen_transition
Add transition options to Stamen source
2019-03-11 09:11:38 +01:00
greenkeeper[bot] 8a5720e8cb fix(package): update pbf to version 3.2.0 2019-03-11 07:51:32 +00:00
bartvde 9ad2924f00 Update zoom levels for Stamen source 2019-03-11 08:50:28 +01:00
Frederic Junod 0401aed6e3 Add transition options to Stamen source 2019-03-11 08:34:42 +01:00
ahocevar b2722542fe Simplify vector tile projection handling 2019-03-10 09:37:58 +01:00
Andreas Hocevar 7002053678 Merge pull request #9307 from ahocevar/line-height
Take line-height into account when measuring text height
2019-03-09 10:07:16 +01:00
Frederic Junod 425cd19922 Add a new font line height option in vector-label example 2019-03-09 09:59:57 +01:00
ahocevar 4a7b3cde56 Take line-height into account when measuring text height 2019-03-09 08:25:09 +01:00
Frédéric Junod 9c1c71b8e5 Merge pull request #9306 from fredj/dispose_layer_renderer
Set the canvas size to 0 on dispose
2019-03-09 08:00:35 +01:00
Frederic Junod 6de566d95b Set the canvas size to 0 on dispose 2019-03-08 13:25:49 +01:00
Kai Volland b31715e86e Updates puppeteer to 1.13.0
Will use Chromium 74.0.3723.0 (r637110) to run the tests
2019-03-08 11:23:41 +01:00
Frederic Junod 9e89047e6a Fix documentation about zoomDelta for ol.interaction.default function 2019-03-07 14:22:33 +01:00
Andreas Hocevar a372ca0569 Merge pull request #9295 from ahocevar/update-ol-mapbox-style
Update ol-mapbox-style to fix broken mapbox-style example
2019-03-07 10:10:08 +01:00
Marc Jansen 1e06dd979e Merge pull request #9292 from KaiVolland/downgrade-puppeteer
Downgrades puppeteer to `~1.11.0`
2019-03-06 19:15:35 +01:00
ahocevar c44e6ebe1d Update ol-mapbox-style to fix broken mapbox-style example 2019-03-06 19:13:33 +01:00
Kai Volland c8fab42d75 Downgrades puppeteer to ~1.11.0
This downgrades puppeteer to version `~1.11.0`.
This will download the stable version of chromium
(72.0.3582.0). The current puppeteer version
(`^1.12.2`) downloads the beta version of
chromium (73.0.3679.0).
2019-03-06 16:53:45 +01:00
Andreas Hocevar 0995f95ef1 Fix typo in extent-constrained example
Co-Authored-By: jahow <olivier.guyot@camptocamp.com>
2019-03-04 18:11:15 +01:00
Olivier Guyot 447266cbe8 Better smoothing of resolution and center constraints
Previously the formula for the resolution constraint allowed going way past
the minimum zoom.
Also adjusted the center constraint to avoid a zigzag effect when going out
of resolution bounds.
2019-03-04 10:14:06 +01:00
Andreas Hocevar d25a534dea Merge pull request #9285 from openlayers/greenkeeper/globby-9.1.0
Update globby to the latest version 🚀
2019-03-04 09:53:25 +01:00
ahocevar 56f37ab347 Disable transition when an interim tile is available 2019-03-03 23:07:46 +01:00
greenkeeper[bot] 90749cd80f chore(package): update globby to version 9.1.0 2019-03-03 13:21:03 +00:00
Andreas Hocevar f1aca67882 Merge pull request #9280 from openlayers/greenkeeper/ol-mapbox-style-4.0.0
Update ol-mapbox-style to the latest version 🚀
2019-03-01 09:56:49 +01:00
Tim Schaub d7905896f7 Merge pull request #9266 from tschaub/vector-image-options
Full type definition for image vector layer options
2019-02-28 21:43:23 -07:00
greenkeeper[bot] a7af9a0697 chore(package): update ol-mapbox-style to version 4.0.0 2019-02-28 16:31:06 +00:00
Andreas Hocevar eea67868f7 Merge pull request #9279 from openlayers/greenkeeper/webpack-4.29.6
Update webpack to the latest version 🚀
2019-02-28 14:24:54 +01:00
Frédéric Junod d99405feeb Merge pull request #9278 from fredj/bing_imagerySet
Update Bing's imagerySet used in examples
2019-02-28 12:59:17 +01:00
greenkeeper[bot] 14831a0d61 chore(package): update webpack to version 4.29.6 2019-02-28 10:53:28 +00:00
Marc Jansen 43bc53b20b Merge pull request #9270 from bvx89/patch-1
Update faq.md
2019-02-28 10:49:35 +01:00
Frederic Junod c01dee0884 Update Bing's imagerySet used in examples 2019-02-28 10:43:59 +01:00
Andreas Hocevar 6fd83b9a8e Merge pull request #9277 from ahocevar/rotate-token
Rotate API token
2019-02-27 18:38:34 +01:00
ahocevar 05712acfef Rotate API token 2019-02-27 18:31:50 +01:00
Frédéric Junod cd17f4b0d6 Merge pull request #9276 from fredj/graticule_cleanup
Use the constructor options instead of changing the private variables
2019-02-27 17:02:41 +01:00
Frederic Junod 7c7b43ee91 Use the constructor options instead of changing the private variables 2019-02-27 15:11:08 +01:00
Frédéric Junod 02f9411c6b Merge pull request #9275 from fredj/rm_setDeclutter
Remove setDeclutter function
2019-02-27 14:03:38 +01:00
Frederic Junod 1338a868e9 Remove setDeclutter function
Changing the declutter value after the layer creating doesn't work, remove the function to avoid confusion.
2019-02-27 11:41:08 +01:00
Lasse Brudeskar Vikås 6b1f9e681c Update faq.md 2019-02-27 11:30:55 +01:00
Andreas Hocevar 65d8b5f26b Merge pull request #9273 from chrismayer/9269-fix-gfi-examples
Fix WMS GetFeatureInfo examples
2019-02-27 10:15:16 +01:00
Christian Mayer 530e47d26c Remove IFrame usage in GetFeatureInfo img example
This replaces the loading of the GetFeatureInfo request via IFrame by a
fetch operation in the GetFeatureInfo image example.
2019-02-27 09:55:59 +01:00
Christian Mayer 85f2312370 Remove IFrame usage in GetFeatureInfo tile example
This replaces the loading of the GetFeatureInfo request via IFrame by a
fetch operation in the GetFeatureInfo tile example.
2019-02-27 09:55:59 +01:00
Lasse Brudeskar Vikås 301b45cb7c Update faq.md
Fixed typos in description, and tried to make the text more readable.
2019-02-26 16:13:06 +01:00
Frédéric Junod 3aa93014c0 Merge pull request #9246 from openlayers/mobile-full-screen
Add missing ol.css in mobile-full-screen example
2019-02-26 12:36:42 +01:00
Frederic Junod 734900f1d7 Add missing ol.css in mobile-full-screen example 2019-02-26 08:39:39 +01:00
Andreas Hocevar fb2ea83838 Merge pull request #9268 from openlayers/greenkeeper/mocha-6.0.2
Update mocha to the latest version 🚀
2019-02-25 20:51:51 +01:00
greenkeeper[bot] 8534aaa304 chore(package): update mocha to version 6.0.2 2019-02-25 19:09:43 +00:00
Tim Schaub 36cf654f09 Full type definition for image vector layer options 2019-02-25 08:37:30 -07:00
Andreas Hocevar 4e8522e696 Merge pull request #9261 from openlayers/greenkeeper/coveralls-3.0.3
Update coveralls to the latest version 🚀
2019-02-25 15:43:05 +01:00
Frédéric Junod 88760de64b Merge pull request #9264 from tpluscode/patch-1
add question about resizing map element
2019-02-25 10:43:54 +01:00
Tomasz Pluskiewicz b5f7705e1d Update faq.md 2019-02-25 10:02:52 +01:00
Tomasz Pluskiewicz 9efe10f747 add question about resizing map element 2019-02-25 09:42:54 +01:00
Frédéric Junod 73744de14e Merge pull request #9260 from fredj/rm_geom_param
Remove unused 'geometry' param from ol/render/canvas/Builder
2019-02-25 08:25:06 +01:00
greenkeeper[bot] d6c18667f4 chore(package): update coveralls to version 3.0.3 2019-02-22 19:13:45 +00:00
Frederic Junod cd28c8a301 Remove unused 'geometry' param from 'createFill' function 2019-02-22 16:52:32 +01:00
Frederic Junod 79c6cc5159 Remove unused 'geometry' param from '{begin,end}Geometry' functions 2019-02-22 16:45:25 +01:00
Frédéric Junod 345607be28 Merge pull request #9256 from openlayers/greenkeeper/mocha-6.0.1
Update mocha to the latest version 🚀
2019-02-22 15:14:35 +01:00
Olivier Guyot f67baa0dc0 Interactions / fix zoom level when a zoom interaction ends 2019-02-22 15:04:54 +01:00
Olivier Guyot 75c379beeb View / allow specifying an anchor on interaction end
This also fixes a bug where the animation anchor would be lost when outside
the allowed resolution.
2019-02-22 15:04:54 +01:00
Olivier Guyot 405e206717 View / better names for getValid* and applyParameters_ methods 2019-02-22 15:04:54 +01:00
Olivier Guyot c2af03f152 Update the View documentation & document breaking changes 2019-02-22 15:04:54 +01:00
Olivier Guyot 7835869582 Add an extent restriction on the mapbox layer example
This fixes a bug where the OL map would allow much larger resolution than
mapbox.
2019-02-22 15:01:30 +01:00
Olivier Guyot 78e8f23df5 View / add getValidCenter method to improve interactions
The DragPan, KeyboardPan and DragZoom interactions now make sure to
animate to a valid center/resolution target to avoid
a chained "resolve" animation which looks weird.

The `View.fit` method was also fixed to use this.
2019-02-22 15:01:30 +01:00
Olivier Guyot 433bccd207 Linting and fixes for unit tests 2019-02-22 15:01:30 +01:00
Olivier Guyot ef6d17d817 View / add a 'smoothResolutionConstraint' options
When enabled (true by default), the resolution min/max values will be applied with
a smoothing effect for a better user experience.
2019-02-22 15:01:30 +01:00
Olivier Guyot e023c144bb View / add adjust* methods to manipulate the view more easily
API changes:
* (breaking) the `rotate` method is gone
* the `adjustRotation`, `adjustResolution` and `adjustZoom` methods are now
  available and allow using an anchor.

This means interactions do not have to do the anchor computation themselves
and this also fix anchor computation when constraints must be applied.
2019-02-22 15:01:30 +01:00
Olivier Guyot b5273babb5 View / handle resolutions array with length=1 2019-02-22 15:01:30 +01:00
Olivier Guyot 49662b019c View / add a constrainResolution option
This introduces a breaking change.

This options replaces the various `constrainResolution` options on interactions
and the `fit` method.

Since constraints are now the responsibility of the View, the fact that intermediary
zoom levels are allowed or not is now set in the view options.

By default, the view resolution is unconstrained.
2019-02-22 15:01:30 +01:00
jahow 48ad1ffcbf View / implement a smooth rebound effect when a max extent is given
This is done by applying the center constraint differently when we're in the
middle of an interaction/animation or not.

When the view is moving, the center constraint will restrain the given value
in an "elastic" way, using a logarithmic function.

This can be disabled using the `smoothCenterConstrain` view parameter.
2019-02-22 15:01:30 +01:00
jahow cd186ada7f Add new tests for View & Interaction w/ fixes 2019-02-22 15:01:30 +01:00
Olivier Guyot a6f65df8c4 View / add a resolveConstraints method to end interactions
This will help making sure that the view will come back to a "rested" state
once the interactions are over.

Interactions no longer need to handle the animation back to a rested state,
they simply call `endInteraction` with the desired duration and direction.
2019-02-22 15:01:30 +01:00
Olivier Guyot 1c5fd62e43 View / refactor how zoom and resolution are computed
This commit aims to simplify the computation of zoom and resolution in the
View class.

Previously zoom levels and resolution computations were mixed in different places,
ie resolution constraints, initial values, etc.

Now the View class only has the `getZoomForResolution` and `getResolutionForZoom`
methods to convert from one system to another.

Other than that, most computations use the resolution system internally.

The `constrainResolution` method also does not exist anymore, and is replaced
by `getValidResolution` and `getValidZoomLevel` public methods.
2019-02-22 15:01:30 +01:00
Olivier Guyot 1f379a06a4 View / add support for viewport extent constraint
This introduces a breaking change:

The `extent` view option now constrains the whole viewport and not just the
view center.
The option `constrainOnlyCenter` was added to keep the previous behaviour.

Constraining the whole viewport and not only the view center means
that the center and resolution constraints must be applied with a knowledge of
the viewport size.
2019-02-22 15:01:30 +01:00
jahow e52fab636c View / apply constraints automatically based on hints
All constraints can now function differently if they are applied during
interaction or animation.
2019-02-22 15:01:30 +01:00
jahow d991dfa54a View / remove constrainCenter method 2019-02-22 15:01:30 +01:00
jahow c2c1aa01d3 View / removed the constrainRotation method 2019-02-22 15:01:30 +01:00
Olivier Guyot e6c4b2ffd1 View / make the constrainResolution function private
Other classes should not need to worry about constraining the resolution
or not, as the View will eventually do this on its own.
2019-02-22 15:01:30 +01:00
Olivier Guyot 3c1e3779e2 View / add a method to compute a valid zoom level
The `getValidZoomLevel` apply the current resolution constraint to return
a value that is guaranteed valid.

This is used for interactions & controls which need a target value to work:
the +/- buttons, the zoom clider, the dragbox zoom and the mouse wheel zoom.
2019-02-22 15:01:30 +01:00
Olivier Guyot 4e1ece16ed View / implemented begin- and endInteraction methods 2019-02-22 15:01:30 +01:00
Olivier Guyot 1cb934dbe3 View / implement intermediate values for center/rot/res
The view now has targetCenter, targetRotation and targetResolution members.

These hold the new values given by set* methods. The actual view parameters are then changed by
calling `applyParameters_`.
2019-02-22 15:01:30 +01:00
Andreas Hocevar 767c765524 Merge pull request #9254 from petrsloup/tilejson-tilesize
Add tileSize option to ol/source/TileJSON
2019-02-22 11:14:19 +01:00
Petr Sloup 67ee5a41b0 Add note about ignoring tileSize TileJSON property 2019-02-22 09:05:18 +01:00
greenkeeper[bot] 5c280e8114 chore(package): update mocha to version 6.0.1 2019-02-21 22:59:15 +00:00
Petr Sloup bc25097899 Add tileSize option to ol/source/TileJSON
The TileJSON spec does not specify the tile size
and there is no TileJSON property specifying the value.

Many providers nowadays provide 512x512 with TileJSON.
2019-02-21 19:00:07 +01:00
Andreas Hocevar 6ce499532c Merge pull request #9250 from ahocevar/clear-refresh
Clearer behaviour of clear() and refresh() on sources
2019-02-21 17:12:26 +01:00
Andreas Hocevar 386f2dc67c Merge pull request #9247 from openlayers/greenkeeper/copy-webpack-plugin-5.0.0
Update copy-webpack-plugin to the latest version 🚀
2019-02-21 15:17:54 +01:00
Andreas Hocevar 90034e4d48 Merge pull request #9251 from ahocevar/cache-size
Fix cache size calculation
2019-02-21 01:57:40 +01:00
ahocevar 4166c80c6e Test cache size 2019-02-21 01:35:40 +01:00
ahocevar d06d00ccbb Fix typo 2019-02-21 01:29:15 +01:00
Andreas Hocevar 959dba169d Merge pull request #9110 from crubier/master
Add TilePixelRatio to Zoomify
2019-02-21 00:29:42 +01:00
Vincent Lecrubier 900adaaffb Update Zoomify.js 2019-02-20 22:40:24 +00:00
ahocevar 94cd126189 Add setUrl function and don't reset loaded extents in setLoader 2019-02-20 21:55:29 +01:00
ahocevar 1416a3d162 Add upgrade notes 2019-02-20 20:40:33 +01:00
ahocevar e4873a9952 Improve documentation for ol/Source#refresh 2019-02-20 20:40:09 +01:00
ahocevar 8d1022046e Clear loaded extents when a new loader is set 2019-02-20 20:39:26 +01:00
ahocevar f40cbf2cac Do not reload on clear(), but on refresh() 2019-02-20 20:39:04 +01:00
ahocevar a0ba8dd8c6 Add a clear() method for tile sources 2019-02-20 20:37:58 +01:00
ahocevar 8557bd96b5 Test refresh() for image sources 2019-02-20 20:36:40 +01:00
greenkeeper[bot] 3d4f77be51 chore(package): update copy-webpack-plugin to version 5.0.0 2019-02-20 13:19:25 +00:00
Andreas Hocevar 62d82411c8 Merge pull request #9244 from huyngkh/stylus-support
add stylus only and touch only mode to drawing a shape
2019-02-20 11:30:11 +01:00
Huy Nguyen c3709ef51a remove arrow function, add JSDoc and restore original Draw 2019-02-20 17:23:50 +07:00
Andreas Hocevar 071e9a4735 Merge pull request #9242 from openlayers/greenkeeper/marked-0.6.1
Update marked to the latest version 🚀
2019-02-20 08:42:13 +01:00
Huy Nguyen 0c889da99c add stylus and touch mode to drawing a shape 2019-02-20 13:55:22 +07:00
greenkeeper[bot] a41f51c437 chore(package): update marked to version 0.6.1 2019-02-19 21:23:11 +00:00
Frédéric Junod 4cb3e24048 Merge pull request #9240 from fredj/text_rotateWithView
Add setRotateWithView function to ol/style/Text
2019-02-19 15:29:00 +01:00
Frederic Junod 4cb9b1eeb3 Add setRotateWithView function to ol/style/Text 2019-02-19 14:20:58 +01:00
Frederic Junod f0a97ee460 Fix comments indentation 2019-02-19 14:12:14 +01:00
Andreas Hocevar 7c1e16abc3 Merge pull request #9230 from ahocevar/hitdetect-declutter
Consider all tiles for hit detection when decluttering
2019-02-19 12:58:07 +01:00
Andreas Hocevar 84995c688c Merge pull request #9237 from umbe1987/export-to-pdf-example
Fix zoom after export to PDF is done
2019-02-19 11:46:26 +01:00
Umberto Minora cefb5d4d32 fixed indents checked with npm run lint 2019-02-19 11:25:12 +01:00
Umberto Minora 8eadb3d04c Fixed indent spaces so that hopefully ci/circleci: build does not fail 2019-02-19 10:57:21 +01:00
Umberto Minora a6023a710a Cleared mixed spaces and tabs 2019-02-19 10:48:11 +01:00
Umberto Minora 33ac3e34ee constrainResolution: false on view fit instead of setting the zoom 2019-02-19 10:38:23 +01:00
Andreas Hocevar 3c64018b37 Merge pull request #9239 from ahocevar/tests-puppeteer
Run tests in Puppeteer and non headless mode
2019-02-19 09:43:13 +01:00
Frédéric Junod b01970cb86 Merge pull request #9236 from fredj/cleanup
Move params list to the constructor function
2019-02-19 09:26:46 +01:00
Andreas Hocevar ffa24bfd22 Merge pull request #9238 from openlayers/greenkeeper/mocha-6.0.0
Update mocha to the latest version 🚀
2019-02-18 23:57:33 +01:00
ahocevar be17bfe85a Avoid render test issues by not running Puppeteer in headless mode 2019-02-18 23:54:20 +01:00
ahocevar 974684ed2b Use Puppeteer for tests 2019-02-18 23:54:20 +01:00
greenkeeper[bot] f90a41a7ca chore(package): update mocha to version 6.0.0 2019-02-18 21:57:28 +00:00
Firstname Lastname df847ae35c Fix zoom after export to PDF is done 2019-02-18 22:12:38 +01:00
Frederic Junod 746455a9b9 Move params list to the constructor function 2019-02-18 17:33:07 +01:00
Frederic Junod 3557247b27 Fix comments indentation 2019-02-18 17:31:36 +01:00
Frédéric Junod 658a4a9194 Merge pull request #9233 from fredj/rm_deprecated
Remove deprecated {get,set}SnapToPixel functions
2019-02-18 15:35:42 +01:00
Andreas Hocevar ec6371d7a0 Merge pull request #9232 from openlayers/greenkeeper/webpack-4.29.5
Update webpack to the latest version 🚀
2019-02-18 14:41:58 +01:00
Frederic Junod 6bab8793a2 Remove deprecated {get,set}SnapToPixel functions 2019-02-18 14:07:27 +01:00
Andreas Hocevar 45b2e8885a Merge pull request #9231 from ahocevar/vectortile-extent
Set vector tile extent earlier
2019-02-18 13:48:25 +01:00
greenkeeper[bot] 40b5891ea7 chore(package): update webpack to version 4.29.5 2019-02-18 11:32:20 +00:00
ahocevar 667cadc403 Remove extent default so we catch errors when extent is not set 2019-02-18 12:07:10 +01:00
ahocevar 08be6cf9bc Set extent berfore features 2019-02-18 11:54:59 +01:00
ahocevar fd07de39ad Consider all tiles for hit detection when decluttering 2019-02-18 11:40:52 +01:00
Vincent Lecrubier 44942dffb5 Update Zoomify.js 2019-02-18 10:04:02 +00:00
Andreas Hocevar f7b1fe07d0 Merge pull request #9225 from openlayers/greenkeeper/webpack-4.29.4
Update webpack to the latest version 🚀
2019-02-16 17:46:04 +01:00
greenkeeper[bot] 9a7e5747eb chore(package): update webpack to version 4.29.4 2019-02-15 16:07:50 +00:00
Frédéric Junod e4264b94ed Merge pull request #9224 from fredj/less_vendor_prefix
Remove vendor prefix for the 'transform' CSS property and fullscreen api
2019-02-15 16:09:24 +01:00
Frederic Junod e9ecea3bb7 Remove 'moz' prefix for the Full Screen API
Browser support: https://caniuse.com/#feat=fullscreen
2019-02-15 14:37:49 +01:00
Frederic Junod 391dfc5025 Remove vendor prefix for the 'transform' CSS property
Browser support: https://caniuse.com/#feat=transforms2d
2019-02-15 14:29:15 +01:00
Frédéric Junod 3da449d77e Merge pull request #9222 from fredj/devDependencies
Update all dev dependencies
2019-02-15 12:49:08 +01:00
greenkeeper[bot] 7a66dc5774 chore(package): update yargs to version 13.2.0 2019-02-15 10:36:02 +01:00
greenkeeper[bot] 74f7b1974d chore(package): update @types/topojson-specification to version 1.0.1 2019-02-15 10:35:44 +01:00
greenkeeper[bot] 6b94aaa424 chore(package): update @types/arcgis-rest-api to version 10.4.4 2019-02-15 10:33:42 +01:00
greenkeeper[bot] c4ed80dd92 chore(package): update @types/geojson to version 7946.0.6 2019-02-15 10:32:38 +01:00
greenkeeper[bot] 7a73638fb2 chore(package): update ol-mapbox-style to version 3.7.1 2019-02-15 10:32:21 +01:00
greenkeeper[bot] 0ece4a7dae chore(package): update webpack-dev-middleware to version 3.5.2 2019-02-15 10:31:59 +01:00
greenkeeper[bot] 6fe8b5c49d chore(package): update puppeteer to version 1.12.2 2019-02-15 10:30:37 +01:00
greenkeeper[bot] 2ba4be2661 chore(package): update webpack-cli to version 3.2.3 2019-02-15 10:30:15 +01:00
Andreas Hocevar a2a3bda5c9 Merge pull request #9221 from ahocevar/remove-unused-sortbyzindex
Remove unused sortByZIndex function
2019-02-15 09:45:26 +01:00
Frédéric Junod f28b7c7bcf Merge pull request #9220 from fredj/rm_extra_canvas_resize
Don't resize/clear the vector renderer canvas
2019-02-15 09:34:57 +01:00
Frédéric Junod 27d025327f Merge pull request #9217 from fredj/f_9211
Don't use loadImage function to avoid infinite loading loop
2019-02-15 08:47:59 +01:00
ahocevar 020f513ed5 Remove unused sortByZIndex function 2019-02-14 17:40:38 +01:00
Frederic Junod 30fb0b1ed1 Don't resize/clear the vector renderer canvas
Already done in the `renderFrame` function
2019-02-14 13:49:31 +01:00
Frederic Junod 40605d7c53 Don't use loadImage function to avoid infinite loading loop 2019-02-14 13:47:52 +01:00
Frédéric Junod 666c14d190 Merge pull request #9212 from fredj/cleanup
Remove unnecessary type cast
2019-02-14 09:41:15 +01:00
Andreas Hocevar 0a005527e7 Merge pull request #9207 from openlayers/greenkeeper/yargs-13.1.0
Update yargs to the latest version 🚀
2019-02-14 07:46:17 +01:00
Frederic Junod c0a860a31f Remove unnecessary type cast 2019-02-13 11:42:22 +01:00
greenkeeper[bot] 3e82da4beb chore(package): update yargs to version 13.1.0 2019-02-12 06:35:53 +00:00
Andreas Hocevar b71d7773d3 Merge pull request #9201 from ahocevar/drawable-child-range
Only consider child range with drawable tiles
2019-02-11 11:05:20 +01:00
Andreas Hocevar 7d5b2d8c3b Merge pull request #9204 from ahocevar/intellisense-notes-addendum
Add missing 'include' section
2019-02-10 22:50:32 +01:00
ahocevar dc298b8895 Add missing 'include' section 2019-02-10 22:44:22 +01:00
Andreas Hocevar 693c763710 Merge pull request #9203 from ahocevar/intellisense-notes
Only promise what we can deliver regarding IntelliSense
2019-02-10 22:42:42 +01:00
Andreas Hocevar 680f3cde3c Merge pull request #9200 from ahocevar/vectorimage-note
Add upgrade note about renderMode: 'image' for vector layers
2019-02-10 09:55:25 +01:00
ahocevar 3ef6635c09 Only promise what we can deliver regarding IntelliSense 2019-02-10 09:10:01 +01:00
ahocevar 8028ce3ac5 Add upgrade note about renderMode: 'image' for vector layers 2019-02-10 08:47:16 +01:00
ahocevar 3557a13147 Only consider child range with drawable tiles 2019-02-09 19:35:31 +01:00
Frédéric Junod f6e625f21a Merge pull request #9197 from fredj/cleanup
Remove unused opt_this param
2019-02-08 08:43:31 +01:00
Andreas Hocevar d1c71c3c61 Merge pull request #9196 from ahocevar/pointresolution-scaleline
getPointResolution returns resolution in projection units
2019-02-07 15:32:32 +01:00
Frederic Junod 6f8ffddace Remove opt_this param in manageTilePyramid function 2019-02-07 13:18:52 +01:00
Frederic Junod 438736068e Remove opt_this param in forEach function 2019-02-07 13:07:36 +01:00
Andreas Hocevar bfe8ee5309 Merge pull request #9195 from openlayers/greenkeeper/handlebars-4.1.0
Update handlebars to the latest version 🚀
2019-02-07 12:50:05 +01:00
ahocevar 703dadfcde Fix ScaleLine control now that getPointResolution works correctly 2019-02-07 12:26:18 +01:00
ahocevar fecb8de769 getPointResolution returns proj units 2019-02-07 12:25:37 +01:00
ahocevar b3bc78daec Provide center in the correct projection 2019-02-07 12:23:45 +01:00
ahocevar d24ae3c2ac Fix expectation for degree point resolution 2019-02-07 12:22:18 +01:00
Frederic Junod 2879c0b6ad Remove opt_this param in forDataAtCoordinate function 2019-02-07 11:51:28 +01:00
greenkeeper[bot] 5ef1b51c02 chore(package): update handlebars to version 4.1.0 2019-02-07 10:45:15 +00:00
Frederic Junod 41d231a4c7 Remove opt_this param in forEachTileCoordParentTileRange function
The function is only called by `ol/renderer/canvas/TileLayer` and `opt_this` was always `null`.
2019-02-07 11:43:52 +01:00
Frédéric Junod f4fe1babd2 Merge pull request #9194 from openlayers/greenkeeper/webpack-4.29.3
chore(package): update webpack to version 4.29.3
2019-02-07 11:08:44 +01:00
greenkeeper[bot] efc85ed0ed chore(package): update webpack to version 4.29.3
Closes #9192
2019-02-07 09:29:38 +00:00
Andreas Hocevar be16c2357d Merge pull request #9190 from romanzoller/multi-polygon-area
Fix MultiPolygon area calculation
2019-02-05 20:43:37 +01:00
Andreas Hocevar 88c213078e Merge pull request #9179 from gberaudo/allow_image_declutter
Allow declutter with image render mode
2019-02-05 20:29:15 +01:00
Roman Zoller ee57b197e5 Fix offset passed from linearRingssAreOriented to linearRingsAreOriented
The offset needs to be set to the end of the previous Polygon,
see `offset = orientLinearRings(...)` in function orientLinearRingsArray

Fixes #9189
2019-02-05 17:56:52 +01:00
Roman Zoller 2c859b1196 Rename misnamed functions in geom/flat/orient
- Rename linearRingIsOriented => linearRingsAreOriented
  The function checks all linear rings of a Polygon, so
  the plural "rings" is more appropriate
- Rename linearRingsAreOriented => linearRingssAreOriented
  The double s is appropriate because the check is done for
  all Polygons of a MultiPolygon

This commit restores the function names from OpenLayers v4,
they were changed (wrongly IMHO) in #7820.
2019-02-05 17:49:21 +01:00
Roman Zoller c4be22b1b6 Add failing test for MultiPolygon#getArea 2019-02-05 17:48:42 +01:00
Guillaume Beraudo b00b877ca1 Update upgrade notes 2019-02-05 17:25:00 +01:00
Guillaume Beraudo 168edac4a6 Allow declutter with image render mode
Using declutter in image render mode is legitimate: each tile is
decluttered, avoiding symbol/text overlaps.
2019-02-05 17:25:00 +01:00
Frédéric Junod caa9153dd0 Merge pull request #9187 from fredj/cleanup
Remove unnecessary type cast
2019-02-05 16:36:16 +01:00
Frederic Junod ba02320fcc Remove unused layerState param 2019-02-05 11:46:12 +01:00
Frederic Junod 427c73ddf9 Remove unnecessary type cast
`npx tsc` output is the same before and after the changes.
2019-02-05 11:46:12 +01:00
Frédéric Junod 2c3ffdfdf8 Merge pull request #9186 from fredj/cleanup
Simplify typing in EsriJSON format
2019-02-05 10:57:36 +01:00
Frederic Junod 97b21145c4 Simplify typing in EsriJSON format 2019-02-05 10:27:26 +01:00
Frédéric Junod 2428c0984e Merge pull request #9161 from fredj/template_type
Use type template for the source type of layers
2019-02-05 10:07:52 +01:00
Frédéric Junod e0aad192af Merge pull request #9184 from fredj/devDependencies
Update all dev dependencies
2019-02-05 09:22:03 +01:00
Frédéric Junod e34806ad70 Merge pull request #9185 from openlayers/greenkeeper/webpack-4.29.1
Update webpack to the latest version 🚀
2019-02-05 09:21:22 +01:00
greenkeeper[bot] a0fde2b24d chore(package): update webpack to version 4.29.1 2019-02-04 18:43:37 +00:00
Frederic Junod abfe6b4359 Update jsdoc-plugin-typescript to version 1.0.7 2019-02-04 16:27:25 +01:00
greenkeeper[bot] acd8c34535 chore(package): update terser-webpack-plugin to version 1.2.2 2019-02-04 16:14:46 +01:00
greenkeeper[bot] 1a1c7dec87 chore(package): update puppeteer to version 1.12.1 2019-02-04 16:14:36 +01:00
greenkeeper[bot] 5e4ee77968 chore(package): update eslint to version 5.13.0 2019-02-04 16:14:28 +01:00
greenkeeper[bot] 9f54e9cb4d chore(package): update ol-mapbox-style to version 3.6.4 2019-02-04 16:14:17 +01:00
Andreas Hocevar 83e7e3ad5c Merge pull request #9178 from ahocevar/sources-for-typescript
Sources in npm package for TypeScript support
2019-02-04 13:55:04 +01:00
Andreas Hocevar 47adce4786 Merge pull request #9181 from ahocevar/test-removefeature-on-point
Add test to verify that removefeature is triggered
2019-02-04 13:02:35 +01:00
ahocevar ce7a1b4365 Add test to verify that removefeature is triggered 2019-02-04 12:46:51 +01:00
Frederic Junod 0b53a3229b Remove unneeded type cast 2019-02-04 09:58:49 +01:00
Frederic Junod 5318d52036 Use type template for the source type of layers 2019-02-04 09:58:48 +01:00
ahocevar 686e493288 Document TypeScript configuration in the README 2019-02-03 23:46:37 +01:00
ahocevar 5e16bae134 Provide sources in ol package 2019-02-03 23:46:37 +01:00
Andreas Hocevar 53fc082fc2 Merge pull request #9173 from ahocevar/render-event-docs
Document the correct render events
2019-01-31 15:50:39 +01:00
ahocevar 47679a9686 Document the correct render events 2019-01-31 14:05:10 +01:00
Andreas Hocevar b76626071b Merge pull request #9167 from ahocevar/jsdoc-fixes
JSDoc fixes
2019-01-30 12:44:08 +01:00
ahocevar 37eb6de37d JSDoc fixes 2019-01-30 09:42:20 +01:00
Marc Jansen 5e7cf6da66 Merge pull request #9164 from KlausBenndorf/doc
event chain documentation
2019-01-28 21:27:36 +01:00
simonseyock c18a833880 event chain documentation 2019-01-28 20:50:33 +01:00
Frédéric Junod 8674da9a3e Merge pull request #9157 from fredj/rm_inherits
Remove deprecated inherits function
2019-01-28 11:01:07 +01:00
Andreas Hocevar 61b20da539 Merge pull request #9152 from ahocevar/vectortile-optimizations
Vector tile optimizations
2019-01-25 17:03:42 +01:00
Frederic Junod 1ba85a11e9 Change 'cacheSize' description in typedef 2019-01-25 16:50:17 +01:00
ahocevar 59cf0c31b6 Allow bigger cache now that we do less clipping 2019-01-25 16:50:12 +01:00
ahocevar 4f487c4df1 Update comment 2019-01-25 16:49:35 +01:00
ahocevar 6e58796f66 Do not keep potentially unused tiles in the render queue 2019-01-25 16:49:34 +01:00
ahocevar 26ff8899c3 Do not load new tiles when low on frame budget 2019-01-25 16:49:34 +01:00
Frederic Junod fe5da2e160 Remove deprecated inherits function 2019-01-25 16:33:02 +01:00
Andreas Hocevar 862553509a Merge pull request #9154 from ahocevar/screen-self
Safer check for window.screen
2019-01-25 13:55:45 +01:00
ahocevar 164635f28c Safer check for window.screen 2019-01-25 12:01:36 +01:00
Andreas Hocevar 3e6425db86 Merge pull request #9150 from ahocevar/no-clipping
Avoid clipping when rendering to tiles that don't exceed the clip extent
2019-01-24 10:33:40 +01:00
ahocevar 09a1c1ef1b Avoid clipping when rendering to tiles that don't exceed the clip extent 2019-01-24 09:09:22 +01:00
Andreas Hocevar f74e56c939 Merge pull request #9149 from ahocevar/label-consumers
Keep track of used labels
2019-01-24 09:07:32 +01:00
ahocevar 592b6cf362 Keep track of used labels 2019-01-23 21:52:22 +01:00
Andreas Hocevar ba0ffea262 Merge pull request #9148 from openlayers/greenkeeper/karma-4.0.0
Update karma to the latest version 🚀
2019-01-23 20:33:49 +01:00
greenkeeper[bot] 0a1fe16ea2 chore(package): update karma to version 4.0.0 2019-01-23 18:21:26 +00:00
Frédéric Junod ea45068335 Merge pull request #9131 from fredj/opacity_cmp
Don't use strict comparison with style.opacity
2019-01-23 08:32:11 +01:00
Tim Schaub 63c079257f Merge pull request #9013 from weskamm/scalebar
Added scalebar option to ol.control.scaleline
2019-01-22 18:04:08 -07:00
Frederic Junod 8dbe8bc34e Parse the opacity from style as float 2019-01-22 12:48:14 +01:00
Frederic Junod af8a22d34d Keep two digits for the opacity value in layer state 2019-01-22 12:47:34 +01:00
Andreas Hocevar ab04df8f9d Merge pull request #9133 from ahocevar/smart-tile-cache
Reduce memory footprint of tiles and labels
2019-01-22 10:46:38 +01:00
ahocevar e37734826c Release canvas memory faster 2019-01-21 23:04:31 +01:00
ahocevar b6d115d868 Make tile cache smaller and screen size dependant 2019-01-21 22:35:48 +01:00
ahocevar a5d93117ed Also consider lower resolution tiles as used tiles 2019-01-21 22:34:01 +01:00
Frédéric Junod 2078b5d355 Merge pull request #9129 from fredj/tmp_array
Reduce garbage generation
2019-01-21 14:29:44 +01:00
Andreas Hocevar 1d4a767f86 Merge pull request #9128 from ahocevar/less-render-cycles
Use less render cycles for vector tile layers
2019-01-21 14:14:39 +01:00
Frederic Junod 89ca596eaf Reduce garbage generation 2019-01-21 10:18:19 +01:00
Johannes Weskamm 347e721025 Fixup prop evaluation 2019-01-21 09:33:29 +01:00
ahocevar cd6d195e3f Render whole image queue in hifi mode to avoid extra render cycles 2019-01-20 23:44:28 +01:00
ahocevar a0de38c1f3 Use a more resource demanding mapbox style 2019-01-20 23:43:01 +01:00
Andreas Hocevar 0daa27eab3 Merge pull request #9124 from openlayers/greenkeeper/sinon-7.2.3
Update sinon to the latest version 🚀
2019-01-20 19:47:31 +01:00
Andreas Hocevar 576fc015a6 Merge pull request #9127 from openlayers/greenkeeper/webpack-4.29.0
Update webpack to the latest version 🚀
2019-01-20 19:47:07 +01:00
greenkeeper[bot] 4f51914994 chore(package): update webpack to version 4.29.0 2019-01-20 17:46:30 +00:00
greenkeeper[bot] 3290559c1f chore(package): update sinon to version 7.2.3 2019-01-19 14:11:43 +00:00
Frédéric Junod be03ac4c50 Merge pull request #9120 from fredj/update_dev_deps
Update all dev dependencies
2019-01-18 08:31:49 +01:00
Frederic Junod 2a07db201f Update typescript to version 3.2.2 2019-01-17 15:08:22 +01:00
greenkeeper[bot] 13cdb8365a chore(package): update webpack-dev-middleware to version 3.5.1 2019-01-17 15:07:08 +01:00
greenkeeper[bot] 46494c79cc chore(package): update @types/geojson to version 7946.0.5 2019-01-17 15:06:10 +01:00
greenkeeper[bot] d0a9003b55 chore(package): update ol-mapbox-style to version 3.6.2 2019-01-17 15:05:47 +01:00
greenkeeper[bot] fde58ee2a2 chore(package): update webpack-cli to version 3.2.0 2019-01-17 15:04:56 +01:00
greenkeeper[bot] 0c63112332 chore(package): update terser-webpack-plugin to version 1.2.1 2019-01-17 15:03:27 +01:00
greenkeeper[bot] 1df40fe3d6 chore(package): update webpack-dev-server to version 3.1.14 2019-01-17 15:03:01 +01:00
greenkeeper[bot] 3878190b12 chore(package): update karma to version 3.1.4 2019-01-17 15:02:21 +01:00
greenkeeper[bot] e4fa3f0520 chore(package): update url-polyfill to version 1.1.3 2019-01-17 15:01:32 +01:00
greenkeeper[bot] 48833d60e3 chore(package): update puppeteer to version 1.11.0 2019-01-17 15:01:10 +01:00
greenkeeper[bot] 17ab5c2084 chore(package): update fs-extra to version 7.0.1 2019-01-17 15:00:43 +01:00
greenkeeper[bot] c05bb30183 chore(package): update front-matter to version 3.0.1 2019-01-17 14:59:37 +01:00
greenkeeper[bot] 2f0723f557 chore(package): update copy-webpack-plugin to version 4.6.0 2019-01-17 14:59:10 +01:00
greenkeeper[bot] 5dfda3f4bd chore(package): update buble to version 0.19.6 2019-01-17 14:58:46 +01:00
Frédéric Junod 62f270a172 Merge pull request #9118 from fredj/format_read_no_event
Don't dispatch change events when reading features
2019-01-15 09:49:23 +01:00
Andreas Hocevar 2364a75f20 Merge pull request #9114 from ahocevar/extent-garbage
Faster extent calculation with less garbage
2019-01-15 09:18:41 +01:00
Frederic Junod 787fd4aa44 Don't dispatch change events when reading features
Based on initial work by https://github.com/Jinkwon
2019-01-15 09:08:15 +01:00
ahocevar 5389e9675c Faster extent calculation with less garbage 2019-01-15 00:30:39 +01:00
Andreas Hocevar aa0bc8175b Merge pull request #9109 from JosephSamela/master
Make package.json valid json object
2019-01-14 18:05:23 +01:00
Andreas Hocevar 62288139d6 Clarify where package.json is created and how start and build are added 2019-01-14 18:00:22 +01:00
Joseph Samela af74a476dc show full package.json + emphasize npm init 2019-01-14 10:24:32 -05:00
Andreas Hocevar 79f5283ce9 Merge pull request #9112 from ahocevar/preparetile-listener
Properly unregister prepareTile listeners
2019-01-14 10:58:42 +01:00
ahocevar 90c8fc7888 Properly unregister prepareTile listeners 2019-01-13 23:09:24 +01:00
Vincent Lecrubier 4d54ad0daf Update Zoomify.js 2019-01-12 13:44:17 +01:00
Vincent Lecrubier 37b1cca027 Add TilePixelRatio to Zoomify 2019-01-12 13:23:18 +01:00
Joseph Samela 7f0fc2a821 Make package.json valid json object 2019-01-11 13:43:22 -05:00
Andreas Hocevar e6ca241a27 Merge pull request #9103 from ahocevar/fix-examples
Make examples more user friendly
2019-01-11 18:36:59 +01:00
ahocevar f0d3f80663 Support scoped packages as dependencies 2019-01-11 18:16:23 +01:00
Andreas Hocevar 6258b6efc4 Merge pull request #9108 from openlayers/greenkeeper/webpack-4.28.4
Update webpack to the latest version 🚀
2019-01-11 08:46:36 +01:00
ahocevar 138cc55b34 Add Edit button for editing in codesandbox 2019-01-10 22:14:05 +01:00
greenkeeper[bot] 4d3968d35b chore(package): update webpack to version 4.28.4 2019-01-10 19:34:11 +00:00
ahocevar 9372bc9157 Add package.json source 2019-01-10 18:31:26 +01:00
Andreas Hocevar 4e8048cbd6 Merge pull request #9107 from webgeodatavore/fix-cgiar-csi
Fix cgiar csi URL due to #9106
2019-01-10 15:57:48 +01:00
ThomasG77 919cc85714 Fix cgiar csi URL due to #9106 2019-01-10 14:47:57 +01:00
ahocevar f368fa1a28 Improve layout 2019-01-09 21:50:50 +01:00
ahocevar c4c6f84bca Separate html and js example code 2019-01-09 21:50:49 +01:00
Andreas Hocevar c8df836ce1 Merge pull request #9058 from ahocevar/slim-vectorimagetile
Move all tile loading from the VectorImageTile to the source
2019-01-09 13:58:13 +01:00
ahocevar 54f48e9c03 Re-add missing import after rebase 2019-01-09 13:45:01 +01:00
ahocevar 0f3c0d1af4 Rename VectorImageTile to VectorRenderTile 2019-01-09 13:45:01 +01:00
ahocevar 32696638d2 Simplify vector tile code 2019-01-09 13:45:01 +01:00
ahocevar ab797b7160 Let source set the key, like other sources do 2019-01-08 13:44:20 +01:00
ahocevar 523d3a4e8c Let the source load source tiles 2019-01-08 13:44:19 +01:00
Frédéric Junod 831c7621c7 Merge pull request #9102 from openlayers/f_9100
Use dom-to-image library in export-pdf example
2019-01-07 13:08:31 +01:00
Frederic Junod d426e80c6b Use dom-to-image library in export-pdf example
fixes #9100
2019-01-07 10:35:56 +01:00
Frédéric Junod cf6b1ca1cc Merge pull request #9072 from fredj/rm_layerStates
Remove 'layerStates' property from the FrameState
2019-01-07 10:11:52 +01:00
Andreas Hocevar 0f3e410428 Merge pull request #9101 from ahocevar/load-tiles-while-animating-and-interacting
Always load tiles while animating and interacting
2019-01-07 10:11:08 +01:00
ahocevar 2e21b9f975 Always load tiles while animating and interacting 2019-01-06 21:29:24 +01:00
Andreas Hocevar ad794cea14 Merge pull request #9099 from ahocevar/tracking-opt-out
Allow users to opt out of tracking
2019-01-06 19:41:46 +01:00
ahocevar 56a60631bc Allow users to opt out of tracking 2019-01-02 07:36:25 +01:00
Andreas Hocevar 3e1fce0e22 Merge pull request #9098 from ahocevar/jsdoc-plugin
External types bugfix for jsdoc-plugin-typescript
2019-01-02 07:10:31 +01:00
ahocevar c2ffba1fda External types bugfix for jsdoc-plugin-typescript 2019-01-02 07:05:46 +01:00
Tim Schaub a94632376c Merge pull request #9095 from openlayers/greenkeeper/marked-0.6.0
Update marked to the latest version 🚀
2019-01-01 08:16:11 -07:00
greenkeeper[bot] ad84c37c86 chore(package): update marked to version 0.6.0 2019-01-01 00:51:39 +00:00
Andreas Hocevar 06e30e8884 Merge pull request #9083 from ahocevar/fix-draw-condition
Reset lastDragTime when condition is not met
2018-12-31 11:24:33 +01:00
Tim Schaub 511e580c76 Merge pull request #9090 from jahow/add-webgl-points-example
Add texture & color to the WebGL points renderer
2018-12-29 22:12:12 -07:00
Tim Schaub 117f0d21fc Merge pull request #9092 from openlayers/greenkeeper/webpack-4.28.3
Update webpack to the latest version 🚀
2018-12-29 21:53:34 -07:00
Andreas Hocevar ba49f2d2db Merge pull request #9091 from jahow/fix-heatmap-ie
Fix heatmap example in IE
2018-12-29 17:18:09 +01:00
greenkeeper[bot] b22b62f647 chore(package): update webpack to version 4.28.3 2018-12-29 12:53:11 +00:00
Olivier Guyot 831c23d212 Fix heatmap example for IE 2018-12-28 16:24:56 +01:00
Olivier Guyot 33c717e159 Use a cleaner way to create a webgl context 2018-12-28 16:10:38 +01:00
jahow fad7c7edb1 Added a new example for webgl icons rendering 2018-12-28 15:53:08 +01:00
Olivier Guyot 62c7a49943 Webgl points / added a texture option & improved doc 2018-12-28 15:53:07 +01:00
Olivier Guyot 0acfd7ab59 WebGL points / Added a color attribute 2018-12-28 15:53:07 +01:00
Andreas Hocevar 435ef3070c Merge pull request #9089 from ThomasG77/fix-rawgit
Replace rawgit with jsdelivr due to #9082 comment
2018-12-27 19:22:52 +01:00
ThomasG77 a7305be824 Replace rawgit with jsdelivr due to #9082 comment 2018-12-27 13:20:19 +01:00
Andreas Hocevar 76b31be9fc Merge pull request #9085 from openlayers/greenkeeper/webpack-4.28.2
Update webpack to the latest version 🚀
2018-12-22 19:42:16 +01:00
greenkeeper[bot] c35cc93ade chore(package): update webpack to version 4.28.2 2018-12-22 13:53:38 +00:00
Andreas Hocevar 8978d86f35 Merge pull request #9079 from ahocevar/fullscreen-event
Listen to all fullscreen event types
2018-12-21 22:27:55 +01:00
ahocevar 409c962caf Reset lastDragTime when condition is not met 2018-12-21 22:26:05 +01:00
Frederic Junod a0f15e1eb6 Only schedule the unused layers renderer removal when it's needed 2018-12-21 10:37:03 +01:00
Andreas Hocevar d8156577c9 Merge pull request #9080 from openlayers/greenkeeper/webpack-4.28.1
Update webpack to the latest version 🚀
2018-12-21 00:13:40 +01:00
greenkeeper[bot] 3b57de3c7a chore(package): update webpack to version 4.28.1 2018-12-20 22:21:40 +00:00
ahocevar 9cfb46f7a4 Listen to all fullscreen event types 2018-12-20 08:39:24 +01:00
Andreas Hocevar 100e69e286 Merge pull request #9076 from openlayers/greenkeeper/webpack-4.28.0
Update webpack to the latest version 🚀
2018-12-19 15:07:13 +01:00
Frederic Junod 3193de0906 Only schedule the icon cache expire when it's needed 2018-12-19 14:34:22 +01:00
greenkeeper[bot] 372cb52f83 chore(package): update webpack to version 4.28.0 2018-12-19 13:12:23 +00:00
Frederic Junod a4fe067aad Create a layer state map instead of an array of uids 2018-12-19 12:45:39 +01:00
Andreas Hocevar 6967e5b60b Merge pull request #9070 from ludvigeriksson/remove-point-return-value
Modify.removePoint returns true only when a vertex was removed
2018-12-18 21:57:02 +01:00
Frederic Junod 016d738269 Move frameState test on top in removeUnusedLayerRenderers_ 2018-12-18 13:34:19 +01:00
Frederic Junod 5d1c27d05d Don't create an array of managed layers 2018-12-18 13:17:00 +01:00
Frederic Junod 1750ff43e0 Always schedule unused layers removal function 2018-12-18 09:49:47 +01:00
Frederic Junod 5195adea85 Remove 'layerStates' property from the FrameState 2018-12-18 09:49:38 +01:00
Frédéric Junod 348186e2f8 Merge pull request #9068 from fredj/mvt_types
Use 'PBF' type instead of 'Object' in ol/format/MVT
2018-12-17 17:02:11 +01:00
Ludvig Eriksson 412d9a9713 Modify.removePoint returns true only when a vertex was removed 2018-12-17 16:02:16 +01:00
Frederic Junod 3b57f6693c Use 'PBF' type instead of 'Object' 2018-12-17 10:30:48 +01:00
Frederic Junod 483c442621 Remove suppress jsdoc tags 2018-12-17 09:55:28 +01:00
Frédéric Junod b4bd447d34 Merge pull request #9066 from fredj/transformGeometryWithOptions
Rework transformWithOptions
2018-12-17 08:29:58 +01:00
Frederic Junod d838de32b7 Rework transformWithOptions
Create one function per input/output type: `transformGeometryWithOptions` and `transformExtentWithOptions`.
2018-12-16 08:28:26 +01:00
Frédéric Junod b546eafeae Merge pull request #9064 from fredj/rm_atlas
Remove Atlas, AtlasManager and getChecksum functions
2018-12-14 14:56:23 +01:00
Frederic Junod 2e1ab8234e Add note in upgrade-notes about the AtlasManager removal 2018-12-14 13:00:35 +01:00
Frederic Junod 0ec769c234 Remove getChecksum functions 2018-12-14 13:00:35 +01:00
Frederic Junod 1bb1e3c542 Remove Atlas and AtlasManager 2018-12-14 13:00:35 +01:00
Andreas Hocevar f948577a1a Merge pull request #9060 from ahocevar/coordinate-convenience
Avoid unexpected behavior when passing string coordinates
2018-12-14 09:36:12 +01:00
Frédéric Junod 193749f4fd Merge pull request #9063 from oterral/master
Fix module name
2018-12-14 09:15:11 +01:00
Olivier Terral 6858a5cde7 Fix module name 2018-12-14 08:57:00 +01:00
ahocevar 80ebb8142c Avoid unexpected behavior when passing string coordinates 2018-12-13 19:07:12 +01:00
Frédéric Junod e426af29c2 Merge pull request #9056 from fredj/rm_typecast
Remove typecast for object literals
2018-12-12 16:25:41 +01:00
Frédéric Junod 68d4d244f3 Merge pull request #9057 from fredj/feature_like
Use FeatureLike typedef
2018-12-12 16:24:52 +01:00
Frederic Junod 39a21f177d Use FeatureLike typedef 2018-12-12 15:03:54 +01:00
Frederic Junod 29702e3750 Remove type cast in ol/structs/LRUCache 2018-12-12 14:48:24 +01:00
Frederic Junod 056568c936 Remove type cast in ol/render/canvas/TextBuilder 2018-12-12 14:47:46 +01:00
Frederic Junod d2cae9d3b7 Remove type cast in ol/style/AtlasManager 2018-12-12 14:45:51 +01:00
Frederic Junod 701e19c1c9 Remove type cast in ol/interaction/Snap 2018-12-12 14:43:51 +01:00
Frederic Junod 4010a644c0 Remove type cast in ol/format/EsriJSON 2018-12-12 14:41:12 +01:00
Frederic Junod 480b064f5d Remove type cast in ol/events 2018-12-12 14:29:18 +01:00
Frédéric Junod daa92c105d Merge pull request #9055 from fredj/less_typecast
Remove type cast in ol.View
2018-12-12 14:10:59 +01:00
Frederic Junod b1602877d9 Remove type cast in ol.View 2018-12-12 12:54:41 +01:00
Andreas Hocevar 0cda18f58a Merge pull request #9008 from ahocevar/decouple-group-creation
Decouple render instruction creation from rendering
2018-12-07 14:33:54 +01:00
Frédéric Junod 89af80241e Merge pull request #9045 from openlayers/rm_CANVAS_LINE_DASH
Remove CANVAS_LINE_DASH from ol/has
2018-12-07 13:54:19 +01:00
Frederic Junod b3520f8217 Remove CANVAS_LINE_DASH from ol/has
Test if `context.setLineDash` is defined instead.
2018-12-07 13:15:23 +01:00
Frédéric Junod bbbed30848 Merge pull request #9044 from openlayers/indent
Fix comments indentation
2018-12-07 13:06:27 +01:00
Frederic Junod 1be17e44a2 Fix comments indentation 2018-12-07 11:57:58 +01:00
Frédéric Junod d0f03f1257 Merge pull request #9043 from openlayers/examples_types
Fix type notation in examples
2018-12-07 11:15:17 +01:00
Frederic Junod 457e7b96dd Remove extra param to function 2018-12-07 11:00:05 +01:00
Frederic Junod 759b317707 Fix type notation in examples 2018-12-07 10:55:26 +01:00
Andreas Hocevar 30947c0de8 Merge pull request #9041 from jahow/fix-webgl-ff-bug
Reworked the Webgl Heatmap layer & associated utilities
2018-12-07 10:28:44 +01:00
Frederic Junod cd3e65e3df Remove unneeded type cast in examples 2018-12-07 09:55:09 +01:00
Frédéric Junod 76bd75ebb1 Merge pull request #9042 from openlayers/opt_onBoxEnd
Change onBoxEnd property in DragBox options to optional
2018-12-07 09:36:27 +01:00
Olivier Guyot 27b0cf18e7 Update default shaders in documentation of webgl classes 2018-12-07 09:32:52 +01:00
Frederic Junod bade38ecc8 Change onBoxEnd property in DragBox options to optional 2018-12-07 09:17:34 +01:00
Olivier Guyot 8e4c66a49e Regenerate new test renders & remove the --ignore-gpu-blacklist flag 2018-12-07 09:09:19 +01:00
Olivier Guyot 2c4a959e55 Generally fixed the webgl heatmap layer
Things done:
- stay closer to the original rendering in canvas
- get rid of the intermediary blur step
- use the new callbacks in the webgl points renderer
- premultiply alpha in the last postprocessing step
2018-12-07 09:02:02 +01:00
Olivier Guyot b532a489d4 Webgl points / fix weird glitches by premultiplying alpha 2018-12-07 09:02:02 +01:00
Olivier Guyot f177a2bcd5 Simple handling of layer opacity in webgl points layer
Now the layer opacity is simply handled by a CSS property on the layer DOM element. As such it does not have to be
taken into account in shaders.
2018-12-07 09:02:02 +01:00
Olivier Guyot a6989af00a Webgl points layer / added callbacks for attributes
Now opacity, rotateWithView and tex coords can be set with callbacks per feature.
2018-12-07 08:57:12 +01:00
Olivier Guyot 2367fbb1ea Webgl / do not enable missing attributes
Some expected attributes might not end up in the compiled shader. In this case, skip calling enableVertexAttrib
2018-12-07 08:57:03 +01:00
Andreas Hocevar 4ce5379a4b Merge pull request #9039 from OSHistory/tsFunctionReturnVoid
Add ': void' to non returning functions (error TS7014)
2018-12-07 07:58:40 +01:00
Andreas Hocevar 1c4cfc9559 Merge pull request #9024 from ahocevar/imagelayer-events
Add prerender and postrender events for Image layer
2018-12-07 07:46:39 +01:00
Niklas Alt 4bc9216e41 Add ': void' to non returning functions (error TS7014) 2018-12-06 19:57:45 +01:00
Andreas Hocevar 97ab5133a0 Merge pull request #9028 from OSHistory/specifyArrayType
Specify the return array as coordinates
2018-12-06 14:50:47 +01:00
Niklas Alt d00bfe8fe7 Use generic * for Coordinate array returns 2018-12-06 14:36:33 +01:00
Andreas Hocevar e4e0e61731 Merge pull request #9037 from openlayers/greenkeeper/webpack-4.27.1
Update webpack to the latest version 🚀
2018-12-05 21:39:57 +01:00
greenkeeper[bot] 88db530c43 chore(package): update webpack to version 4.27.1 2018-12-05 19:36:50 +00:00
Andreas Hocevar 9cf58e412f Merge pull request #9036 from ahocevar/modify-drag-segments
Remove drag segments of removed features
2018-12-05 12:58:33 +01:00
ahocevar 6cabb9dd0b Remove drag segments of removed features 2018-12-05 12:02:35 +01:00
Andreas Hocevar b71e391e3b Merge pull request #9031 from ludvigeriksson/insertVertexCondition-fix
Call insertVertexCondition only when a vertex acually can be inserted
2018-12-04 13:22:42 +01:00
Andreas Hocevar e92e03eb1b Merge pull request #9032 from openlayers/greenkeeper/webpack-4.27.0
Update webpack to the latest version 🚀
2018-12-04 13:13:48 +01:00
ahocevar df59b894b1 Make tile keys stable to avoid TileQueue confusion 2018-12-04 11:09:51 +01:00
ahocevar 6202a0cf05 Bring back interim tiles, but don't block user interaction 2018-12-04 11:09:51 +01:00
greenkeeper[bot] 4a28155f2b chore(package): update webpack to version 4.27.0 2018-12-04 09:52:16 +00:00
Ludvig Eriksson a50fda5ac8 Call insertVertexCondition only when a vertex acually can be inserted 2018-12-04 09:55:31 +01:00
Andreas Hocevar 56201b9295 Merge pull request #9029 from OSHistory/inheritDoc
Use camel-cased inheritDoc for consistency
2018-12-03 20:48:21 +01:00
Niklas Alt 3ef6e39c26 Use camel-cased inheritDoc for consistency 2018-12-03 20:42:03 +01:00
Niklas Alt 8f7d0c8a4b Specify the return array as coordinates 2018-12-03 20:22:46 +01:00
Andreas Hocevar fd0e7782ed Merge pull request #9026 from ahocevar/dependencies
Update ol-mapbox-style and jsdoc-plugin-typescript
2018-12-03 06:31:33 +01:00
Andreas Hocevar 3790007226 Merge pull request #9025 from ahocevar/render-event
Remove unused render event
2018-12-03 06:31:03 +01:00
ahocevar 976863c376 Add prerender and postrender events for Image layer 2018-12-02 21:05:20 +01:00
ahocevar 4256932cee Update ol-mapbox-style and jsdoc-plugin-typescript 2018-12-02 17:17:19 +01:00
ahocevar be52368006 Remove unused render event 2018-12-02 17:13:03 +01:00
Tim Schaub 3944f0e62b Merge pull request #9023 from jahow/fix-webgl-points-layer
Fix webgl PointsLayer not rendering anything
2018-11-30 21:38:43 -07:00
jahow 8bb7d77f68 Update PointsLayer documentation 2018-12-01 00:11:27 +01:00
jahow 55c36b5aab Shader compilation errors are now logged even when the compilation succeeded 2018-12-01 00:03:05 +01:00
jahow 78028893e2 Added missing attributes in PointsLayer
Attributes were used in the shader but not bound to a buffer, which made the
rendering failed in some implementations.
2018-12-01 00:01:55 +01:00
Andreas Hocevar 171f1a5bac Merge pull request #9022 from ahocevar/webgl-performance-caveat
Use WebGL even with major performance caveat
2018-11-30 15:53:27 +01:00
ahocevar a77ed76443 Use WebGL even with major performance caveat 2018-11-30 14:20:59 +01:00
Andreas Hocevar e9e804a836 Merge pull request #9020 from ahocevar/remove-superfluous-settileurlfunction
Remove superfluous setTileUrlFunction call
2018-11-30 11:09:46 +01:00
ahocevar 1d243a7f37 Add comments and TODOs 2018-11-29 22:35:46 +01:00
ahocevar fbf98a44ea Streamline tile preparation and remove unused code 2018-11-29 22:35:46 +01:00
ahocevar 9720db2041 Remove superfluous setTileUrlFunction call 2018-11-29 21:20:35 +01:00
Andreas Hocevar 65a10db432 Merge pull request #9018 from OSHistory/docFixes
Duplicate @property for style and renderOrder
2018-11-29 17:12:43 +01:00
Niklas Alt e73931a9b2 Duplicate @property for style and renderOrder 2018-11-29 16:51:01 +01:00
Johannes Weskamm d4c14da4b5 Rename props, localization, fix example 2018-11-29 15:24:41 +01:00
Frédéric Junod aad836dfb2 Merge pull request #9012 from fredj/misc
Change projection and urls properties in sources options to optional
2018-11-29 07:08:21 +01:00
Johannes Weskamm 97618c8611 Added scalebar option to ol.control.scaleline 2018-11-28 16:25:55 +01:00
Frederic Junod 769d7dd732 Change urls property in TileArcGISRest to optional
The `urls`property is optional if `url` is defined.
2018-11-28 16:00:56 +01:00
Frederic Junod 28bdbeb869 Change projection property in sources options to optional
The `projection` property is not mandatory, the view's projection is used if not provided.
2018-11-28 15:59:47 +01:00
ahocevar 2ce8fa6f10 Render only when we have time, and not during interaction/animation 2018-11-28 14:42:41 +01:00
ahocevar 82e2a84862 Remove interim tile handling for now 2018-11-28 14:42:41 +01:00
ahocevar 43759fd846 Decouple executor group creation from rendering 2018-11-28 14:42:40 +01:00
Tim Schaub 85abe3695a Merge pull request #9010 from fredj/ExecutorGroup_import
Fix ExecutorGroup.js file location in comments
2018-11-27 13:04:37 -07:00
Tim Schaub 74225188f4 Merge pull request #9009 from fredj/revert_9005
Revert "Simplify import path in examples"
2018-11-27 12:58:15 -07:00
Frederic Junod 4caabee792 Fix ExecutorGroup.js file location in comments
`src/ol/render/ExecutorGroup.js` was removed in #9003
2018-11-27 17:13:54 +01:00
Frederic Junod 63de0aefbe Remove '.js' from the imports 2018-11-27 17:00:18 +01:00
Frederic Junod 4a3f70c09b Revert "Simplify import path in examples"
This reverts commit 79c8afdba8.
2018-11-27 16:49:55 +01:00
Frédéric Junod eaa29b2e63 Merge pull request #9005 from fredj/examples_import
Simplify import path in examples
2018-11-27 13:50:38 +01:00
Frederic Junod 79c8afdba8 Simplify import path in examples
To have the same path (starting with `ol/`, without `.js`) as in the documentation.
The support was added in the webpack config in #8928
2018-11-26 17:18:52 +01:00
Andreas Hocevar 4b784f06e9 Merge pull request #9003 from ahocevar/remove-duplicate-functions
Remove unused Builder/Executor functions and members
2018-11-26 12:10:40 +01:00
Andreas Hocevar b03a42c81a Merge pull request #9004 from openlayers/greenkeeper/webpack-4.26.1
Update webpack to the latest version 🚀
2018-11-25 23:57:02 +01:00
greenkeeper[bot] 49b1310b19 chore(package): update webpack to version 4.26.1 2018-11-25 21:17:50 +00:00
ahocevar f4aec3fd01 Remove unused Builder/Executor functions and members 2018-11-25 20:06:37 +01:00
Andreas Hocevar b71a8aa006 Merge pull request #9002 from openlayers/fix-module-path
Fix module path
2018-11-25 14:51:42 +01:00
Andreas Hocevar 66ec9983b2 Fix module path 2018-11-25 14:19:56 +01:00
Frédéric Junod 4910933a9b Merge pull request #8996 from fredj/image-vector-ratio
Add imageRatio option for VectorImage layers
2018-11-23 14:29:51 +01:00
Tim Schaub 8cea28e102 Add missing full stop in comment
Co-Authored-By: fredj <frederic.junod@camptocamp.com>
2018-11-23 08:24:20 +01:00
Andreas Hocevar d1df9dae0d Pass baseOptions to parent constructor
Co-Authored-By: fredj <frederic.junod@camptocamp.com>
2018-11-22 10:27:29 +01:00
Frederic Junod e66a84c897 Add imageRatio option for VectorImage layers 2018-11-22 09:38:08 +01:00
Frédéric Junod 5951e147c0 Merge pull request #8995 from fredj/vec_render_mode
Remove leftover comments and code for 'vector' render mode
2018-11-22 08:44:37 +01:00
Tim Schaub 7b6f86abc7 Merge pull request #8992 from tschaub/tilecoord
Use standard tile coords
2018-11-21 15:18:51 -07:00
Tim Schaub 0f5439e16e Add upgrade notes regarding internal tile coordinates 2018-11-21 11:53:12 -07:00
Tim Schaub e9a30c5cb7 Use standard tile coords 2018-11-21 11:14:17 -07:00
Tim Schaub 37c987de0a Move quadKey function to the one place it is used 2018-11-21 10:10:51 -07:00
Frederic Junod cb44775306 Remove leftover comments and code for 'vector' render mode 2018-11-21 16:58:27 +01:00
Frédéric Junod 60b3370bba Merge pull request #8994 from fredj/misc
Set projection property in sources options to optional
2018-11-21 16:52:34 +01:00
Frederic Junod a8799e1d60 Fix typo 2018-11-21 16:23:54 +01:00
Frederic Junod 087b024a24 Change projection property in sources options to optional
The `projection` property is not mandatory, the view's projection is used if not provided.
2018-11-21 16:23:29 +01:00
Tim Schaub c6be2c7ff5 Merge pull request #8977 from jahow/add-webgl-rendering-tests
Add WebGL rendering tests & improve the WebGLHelper API
2018-11-20 03:59:06 -08:00
Olivier Guyot 662d9122f5 Use --ignore-gpu-blacklist to fix Webgl rendering in CircleCI 2018-11-20 11:52:32 +01:00
Andreas Hocevar a137eabc5d Merge pull request #8990 from nicholas-l/remove-unneededCall
[Client] Remove renderFrame
2018-11-20 09:24:06 +01:00
Nicholas L a9d336d0f1 [Client] Remove renderFrame 2018-11-20 18:52:43 +13:00
Tim Schaub 1133a5bfb7 Merge pull request #8989 from openlayers/greenkeeper/marked-0.5.2
Update marked to the latest version 🚀
2018-11-19 16:30:30 -08:00
greenkeeper[bot] 432ac856b6 chore(package): update marked to version 0.5.2 2018-11-20 00:06:25 +00:00
Tim Schaub 0fd4af670b Merge pull request #8988 from tschaub/measure-and-cache-text-width
Pass along the ability to measure and cache text width
2018-11-19 15:21:49 -08:00
Tim Schaub 8b50c3c6cb Pass along the ability to measure and cache text width 2018-11-19 15:34:48 -07:00
Tim Schaub e058eb3164 Merge pull request #8987 from tschaub/rendering-updates
Rendering test updates
2018-11-19 13:40:46 -08:00
Tim Schaub 2131cc460c Dash delimited lower case words describe the cases 2018-11-19 14:03:51 -07:00
Tim Schaub 4ff7b0a379 Merge pull request #8983 from openlayers/issue-templates
Add issue templates
2018-11-19 12:53:57 -08:00
Tim Schaub 7036064ffc Add tiles to avoid 404s in rendering tests 2018-11-19 13:50:52 -07:00
Tim Schaub 9863e25f5e Only try to run cases with main.js 2018-11-19 13:49:50 -07:00
Tim Schaub 61baa8a4a2 Merge pull request #8982 from tschaub/stacking
Stacking context for layers, overlays, and controls
2018-11-19 12:49:36 -08:00
Tim Schaub e4b00be9d6 Add labels to issue templates 2018-11-19 11:37:49 -07:00
Tim Schaub 0c27cee2a6 Add issue templates 2018-11-19 11:26:39 -07:00
Tim Schaub 898c349fbf Stacking contexts for layers, overlays, and controls 2018-11-19 11:00:33 -07:00
Frédéric Junod 5d14666376 Merge pull request #8980 from fredj/cleanup
Change travis references to circleci in doc
2018-11-19 15:53:36 +01:00
Olivier Guyot 0b23e94a2a Fixed internal var name on WebGLPoints renderer. 2018-11-19 13:11:23 +01:00
jahow 6b82cf0b84 Simplified the API of WebGLHelper
Now the shader and program caches are simply arrays of native WebGL created objects.
The WebGLHelper simply takes the sources of the frag and vert shader and produces a program.

This removes 2 classes & reduces the general verbosity of the API.

Also a `getShaderCompilationErrors` was added on `WebGLHelper` to help debug GLSL errors.
2018-11-19 13:11:23 +01:00
Frederic Junod da8ee157b8 Remove Makefile entry in editorconfig 2018-11-19 13:11:19 +01:00
Frederic Junod 18eef152c4 Change travis references to circleci in doc 2018-11-19 13:09:55 +01:00
Frédéric Junod 066e5b7ed3 Merge pull request #8978 from openlayers/greenkeeper/webpack-4.26.0
Update webpack to the latest version 🚀
2018-11-19 11:40:33 +01:00
greenkeeper[bot] 4b060224f2 chore(package): update webpack to version 4.26.0 2018-11-19 09:34:22 +00:00
jahow 76b1a7f96b Add a rendering test for basic points rendering in webgl. 2018-11-19 09:41:29 +01:00
jahow d0e0c8fc3a Add rendering test for heatmap layer 2018-11-19 09:41:20 +01:00
Andreas Hocevar eb700a3c5e Merge pull request #8976 from ahocevar/unscale-tile-canvas
Scale tiles instead of canvas
2018-11-18 20:37:16 +01:00
ahocevar 5cc74ee1d2 Scale tiles instead of canvas 2018-11-18 19:31:14 +01:00
Andreas Hocevar 2eeef29ab2 Merge pull request #8970 from ahocevar/zindex
Fix zIndex positioning
2018-11-18 17:06:55 +01:00
Frédéric Junod 140e8b59bb Merge pull request #8968 from fredj/Object.values
Use Object.values if available
2018-11-18 00:16:01 +01:00
Andreas Hocevar b4b9b35ef7 Merge pull request #8972 from ahocevar/no-rollup
Remove unused rollup dependency
2018-11-17 23:10:45 +01:00
ahocevar a4d84b616f Remove unused rollup dependency 2018-11-17 22:03:47 +01:00
ahocevar 366588d07e Avoid layers getting rendered above the overlay container 2018-11-17 18:12:43 +01:00
Frédéric Junod d030f092a2 Merge pull request #8967 from fredj/ts_checks_fix_webgl
Fix webgl types in ol/webgl/PostProcessingPass
2018-11-17 16:54:20 +01:00
Tim Schaub ba609a67ba Merge pull request #8969 from tschaub/inverse-transforms
Create and use inverse pixel transforms during render
2018-11-17 16:41:41 +01:00
Tim Schaub 5d528dca3b Target, source arg order for make* transform functions 2018-11-17 16:28:29 +01:00
Tim Schaub c169fec4a8 Invert and set transform in one step 2018-11-17 16:28:28 +01:00
Tim Schaub 06a0a7f33b Use the inverse pixel transform when clipping and getting pixel data 2018-11-17 16:28:28 +01:00
Tim Schaub 1cc49e0b23 Clearer function name for getting a render pixel 2018-11-17 16:28:28 +01:00
Tim Schaub af10f6a75c Use the inverse pixel transform in pre/post render events 2018-11-17 16:28:28 +01:00
Tim Schaub 686847f491 Make forward and inverse pixel transforms during render 2018-11-17 16:28:27 +01:00
Tim Schaub db1f432197 Function for making a scale transform 2018-11-17 16:28:27 +01:00
Tim Schaub 63cf21b668 Dedicated function for inverting a transform without modifying the source 2018-11-17 16:28:27 +01:00
Frederic Junod 4a3a53c725 Use Object.values if available
As `Object.values`, the arguments now can't be `null` or `undefined`.
2018-11-17 14:59:36 +01:00
Frederic Junod 42a8c7983f Fix webgl types in ol/webgl/PostProcessingPass 2018-11-17 11:20:11 +01:00
Frédéric Junod 06ae175cef Merge pull request #8964 from fredj/col_evt_index
Add index to the Collection events
2018-11-17 11:00:19 +01:00
Frédéric Junod 93140d9495 Merge pull request #8915 from fredj/layer_zIndex
Use CSS z-index to order layers
2018-11-17 10:59:54 +01:00
Frédéric Junod c39471aa93 Merge pull request #8966 from openlayers/greenkeeper/rollup-0.67.3
Update rollup to the latest version 🚀
2018-11-17 10:27:13 +01:00
greenkeeper[bot] 6a5651cc87 chore(package): update rollup to version 0.67.3 2018-11-17 08:46:27 +00:00
Frederic Junod a64ca2b4bf Use CSS z-index to order layers 2018-11-17 09:03:59 +01:00
Frédéric Junod 97ed71f683 Merge pull request #8963 from openlayers/greenkeeper/rollup-0.67.2
Update rollup to the latest version 🚀
2018-11-17 08:46:15 +01:00
Frederic Junod 6219e31e40 Add index to the Collection events 2018-11-17 08:43:35 +01:00
greenkeeper[bot] 7f55424fda chore(package): update rollup to version 0.67.2 2018-11-17 07:20:16 +00:00
Tim Schaub a81c2ad995 Merge pull request #8923 from tschaub/composite
Use the composite renderer
2018-11-16 18:42:24 +01:00
ahocevar c004e9d644 More upgrade notes 2018-11-16 18:38:51 +01:00
Tim Schaub 6c4845a304 Upgrade notes 2018-11-16 18:32:12 +01:00
Tim Schaub 358d86c33e Raster source listens for layer change 2018-11-16 18:10:10 +01:00
ahocevar 95c16cfa11 Fix vector tile renderer test 2018-11-16 17:05:44 +01:00
Tim Schaub 5aa8db15f4 Lint 2018-11-16 16:25:39 +01:00
Tim Schaub 6cfb8f275b Fix magnify example 2018-11-16 16:16:28 +01:00
ahocevar edbe2316ef Lazily create interim tiles (fixes most tests) 2018-11-16 15:03:28 +01:00
Tim Schaub d6add33df0 Use map and new method 2018-11-16 14:58:02 +01:00
Tim Schaub a490c658fb Overscale canvas if sources have non-zero min zoom 2018-11-16 14:57:18 +01:00
Tim Schaub 9eb5808844 Test that postrender is dispatched (again) 2018-11-16 14:57:18 +01:00
Tim Schaub 96437e3875 Test prerender and postrender events for a vector layer 2018-11-16 14:57:18 +01:00
Tim Schaub 3ecc6d60d2 The forEachLayerAtPixel method calls getDataAtPixel for each layer renderer 2018-11-16 14:57:17 +01:00
Tim Schaub 47ecd508fa Test hybrid mode in vt constructor 2018-11-16 14:57:17 +01:00
Frederic Junod 98a780e5f9 Add missing '.js' in import 2018-11-16 14:57:17 +01:00
Tim Schaub 038f122d11 Clip tile layers by extent 2018-11-16 14:57:17 +01:00
ahocevar 73ffda10db Smarter interim tile creation 2018-11-16 14:57:17 +01:00
Tim Schaub b3bcf7dac1 Add 2% tolerance to vector rendering tests 2018-11-16 14:57:17 +01:00
Tim Schaub 4a3dbb0e24 Use the main map in rendering tests 2018-11-16 14:57:17 +01:00
Florent gravin 90d46cb539 Remove blend-modes example
As we are not doing canvas composition anymore
2018-11-16 14:57:16 +01:00
Florent gravin 7831a591f7 Fix igc example migrating map postcompose event 2018-11-16 14:57:16 +01:00
Florent gravin 1dbe52d738 Fix layer-clipping example using right postrender events 2018-11-16 14:57:16 +01:00
Florent gravin f73c6fab35 Fix igc example migrating map postcompose event 2018-11-16 14:57:16 +01:00
Florent gravin eafe1bf8a3 Fix geolocation-orientation example migrating map postcompose event 2018-11-16 14:57:16 +01:00
Florent gravin 039af41af1 Unbind postrender event in feature-move-animation example 2018-11-16 14:57:16 +01:00
Florent gravin a924834920 Fix feature-animation example migrating map postcompose event 2018-11-16 14:57:15 +01:00
Florent gravin 3bf9a54ed5 Fix dynamic-data example migrating map postcompose event 2018-11-16 14:57:15 +01:00
Florent gravin 91bd144f0e Update post/pre render event doc usage in examples 2018-11-16 14:57:15 +01:00
Florent gravin 160e9e8056 Fix image-filter example using right postrender events 2018-11-16 14:57:15 +01:00
Florent gravin c5b7c5febb Fix magnify example using right postrender events 2018-11-16 14:57:15 +01:00
Florent gravin 3cba5ffbe2 Fix swipe example using right post/pre render events 2018-11-16 14:57:15 +01:00
Florent gravin 4d54549b5f Fix flight-animation example with postrender event 2018-11-16 14:57:15 +01:00
Florent gravin 45cd573768 Fix layer-spy example using right post/pre render events 2018-11-16 14:57:14 +01:00
Tim Schaub 358f58ba3a Doc for transform toString function 2018-11-16 14:57:14 +01:00
Tim Schaub cc9b7b6259 Work around a TypeScript issue with inheritdoc 2018-11-16 14:57:14 +01:00
Tim Schaub 5ad73f8bbd Implement getDataAtPixel for all layer renderers 2018-11-16 14:57:14 +01:00
Tim Schaub 832dadb3af Dedicated transforms 2018-11-16 14:57:14 +01:00
Tim Schaub ac3a1fb953 Dispatch layer changed event when layer needs a re-render 2018-11-16 14:57:13 +01:00
Tim Schaub 7a82904a3b Unused intermediate canvas renderer 2018-11-16 14:57:13 +01:00
Tim Schaub 666f57bd4c Unused transforms 2018-11-16 14:57:13 +01:00
Tim Schaub 32495388b9 Transform origin top left 2018-11-16 14:57:13 +01:00
ahocevar 5bb110f157 Fix render context utility functions and feature-move-animation example 2018-11-16 14:57:13 +01:00
Tim Schaub aa4237539f Provide a pixel transform from the tile renderer 2018-11-16 14:57:13 +01:00
ahocevar ee536fb70d Remove unused code and imports 2018-11-16 14:57:12 +01:00
Tim Schaub bc347e3eb0 Provide a pixel transform to render events 2018-11-16 14:57:12 +01:00
ahocevar 65ceb9264e Remove accidently committed changes 2018-11-16 14:57:12 +01:00
ahocevar 6c0b3f773b New render event API (non functional yet) 2018-11-16 14:57:12 +01:00
Tim Schaub f90efac131 Smaller canvas when rotating vector layers 2018-11-16 14:57:11 +01:00
Tim Schaub 26de43de0c Unused imports 2018-11-16 14:57:11 +01:00
Tim Schaub ed7825e13a Render vector images 2018-11-16 14:57:11 +01:00
Tim Schaub 8b077c66d8 Rotate images 2018-11-16 14:57:11 +01:00
Tim Schaub b5378deb45 Create context in the canvas layer base class 2018-11-16 14:57:11 +01:00
Tim Schaub 33f6d6f110 One fewer transform 2018-11-16 14:57:11 +01:00
Tim Schaub a9f98f2b1e Rotation for image layers 2018-11-16 14:57:10 +01:00
Tim Schaub 8822690cf4 Work with sources that have a max zoom 2018-11-16 14:57:10 +01:00
ahocevar 9a4e665c3b Position tiles by offset instead of extent 2018-11-16 14:56:50 +01:00
Tim Schaub 6edac64b81 Use the regular map in the rendering tests 2018-11-16 14:56:50 +01:00
Tim Schaub f9ebb0c917 Return two canvases from the vector tile layer renderer 2018-11-16 14:56:50 +01:00
Tim Schaub c137b68938 Dispatch pre-render before rendering 2018-11-16 14:56:50 +01:00
ahocevar 8eb48604e9 Round tile x and y and reuse w and h 2018-11-16 14:56:50 +01:00
ahocevar 5fffb67242 Clear canvas when nothing to replay 2018-11-16 14:56:49 +01:00
ahocevar c37b6202a0 Use Map 2018-11-16 14:56:49 +01:00
Tim Schaub 610fcab79e Dispatch pre and post render events 2018-11-16 14:56:49 +01:00
Tim Schaub 489af4023d Work with high dpi tiles 2018-11-16 14:56:49 +01:00
Tim Schaub 87e5bbac4d Image layer renderer 2018-11-16 14:56:49 +01:00
Tim Schaub 20e5841aed Remove vector mode for vector tile rendering 2018-11-16 14:56:48 +01:00
Tim Schaub 39a4f42e3d Resize canvas to handle rotation 2018-11-16 14:56:48 +01:00
Tim Schaub 6234b69512 Handle opacity and rotation in canvas intermediate renderer 2018-11-16 14:56:48 +01:00
Tim Schaub 5ba8795355 Tile layer rendering with the composite renderer 2018-11-16 14:56:48 +01:00
Tim Schaub 433ab97d1c End of composeFrame 2018-11-16 14:56:48 +01:00
Tim Schaub f416cf742d Workaround for raster source 2018-11-16 14:56:48 +01:00
Tim Schaub c612cce591 Give the map some height for the box tests 2018-11-16 14:56:47 +01:00
Tim Schaub f2cab1fcbb Give the map some height for scale line tests 2018-11-16 14:56:47 +01:00
Tim Schaub b3903df156 Use the composite renderer 2018-11-16 14:56:47 +01:00
Tim Schaub dd23055db1 Merge pull request #8951 from jahow/remove-webgl
Remove legacy WebGL code & implement a lightweight API for point rendering
2018-11-16 14:55:00 +01:00
Olivier Guyot 1ae1b60308 Rename webgl-new to webgl 2018-11-16 14:05:06 +01:00
Olivier Guyot 40d5f4efe7 Added unit tests for the WebGLHelper class 2018-11-16 14:05:06 +01:00
Frederic Junod 0189e8345d Remove WebGL references in comments 2018-11-16 14:05:06 +01:00
Olivier Guyot 72cf7b13fa removed existing webgl rendering unit tests 2018-11-16 14:05:04 +01:00
Olivier Guyot 66a74ac019 Renamed WebGLBuffer to WebGLArrayBuffer to avoid conflicts
In the future this should be reworked to have a clearer API in general.
2018-11-16 14:02:10 +01:00
Olivier Guyot a84559d1fb Added documentation & fixed linting for WebGL classes 2018-11-16 14:02:10 +01:00
Olivier Guyot cb77e10179 Removed the legacy shader build system 2018-11-16 14:02:10 +01:00
Olivier Guyot 874047a928 The heatmap layer now has a configurable blur 2018-11-16 14:02:10 +01:00
Olivier Guyot 530bcd0c88 Improve handling of uniforms in webgl helper 2018-11-16 14:02:10 +01:00
Olivier Guyot 94524fb431 Webgl Helper now handles uniforms with framestate as input 2018-11-16 14:02:10 +01:00
Olivier Guyot 716256e8f3 Cleaned up the heatmap layer & use dynamic radius 2018-11-16 14:02:10 +01:00
Olivier Guyot fb8bf785dd Use the gradient texture in the heatmap layer 2018-11-16 14:02:10 +01:00
Olivier Guyot 4a275c543a Use post-processes in the heatmap example 2018-11-16 14:02:10 +01:00
Olivier Guyot 0c1424c5bb Added the concept of post process passes for webgl 2018-11-16 14:02:10 +01:00
Olivier Guyot 7fa2189fe9 Remove the bulk of the WebGL legacy code.
Things left to do:
* redo an icon layer example
* redo a clipping layer example
* update docs where WebGL renderers are mentioned
2018-11-16 14:02:08 +01:00
Olivier Guyot d3294730f1 Renamed WebGLContext to Helper for clarity 2018-11-16 14:01:21 +01:00
Olivier Guyot 494b817f47 Use the new webgl renderer in the heatmap layer 2018-11-16 14:01:21 +01:00
Olivier Guyot 51becf1c2e Allow custom post processing & improve blending 2018-11-16 14:01:21 +01:00
Olivier Guyot 298af9ca0f added the concept of frame buffer in webgl context 2018-11-16 14:01:21 +01:00
Olivier Guyot 81807c5910 Added size & position callbacks 2018-11-16 14:01:21 +01:00
Olivier Guyot 3c5eac13c9 Handle alpha & custom shaders in renderer 2018-11-16 14:01:21 +01:00
Olivier Guyot 154a046130 Added texcoord in default shader 2018-11-16 14:01:20 +01:00
Olivier Guyot 583dfb8e9d Actually make the renderer work 2018-11-16 14:01:20 +01:00
Olivier Guyot 1c11dc5311 Improved shader compilation & fixed PointsLayer ones 2018-11-16 14:01:20 +01:00
Olivier Guyot 97b16be572 Added attribute handling 2018-11-16 14:01:20 +01:00
Olivier Guyot fc20dc986c Better handle uniform locations in shaders 2018-11-16 14:01:20 +01:00
Olivier Guyot 66efee9e22 Add vertex shaders to pointslayer 2018-11-16 14:01:20 +01:00
Olivier Guyot 71270efa75 Added a new WebGLPointsRenderer 2018-11-16 14:01:20 +01:00
Olivier Guyot 0a0d6c22f5 Modified the WebGLContext to be used independantly 2018-11-16 14:01:20 +01:00
Andreas Hocevar 36cf7227c0 Merge pull request #8926 from gberaudo/replay_refactoring
Uncouple replay creation and rendering
2018-11-16 13:54:18 +01:00
Frédéric Junod 9937fd5963 Merge pull request #8952 from fredj/polygon-style_tests
Port polygon-style rendering test
2018-11-16 13:52:52 +01:00
ahocevar 8d51e0d487 Remove resolved FIXMEs 2018-11-16 13:50:42 +01:00
ahocevar 981b398042 Add a FIXME for the measure function to go away 2018-11-16 13:49:50 +01:00
Frédéric Junod 2e32ac7254 Merge pull request #8939 from fredj/rework_d3_example
Use ol/layer/Layer instead of ol/source/ImageCanvas in d3 example
2018-11-16 13:45:30 +01:00
Frederic Junod 0ed7f76ad0 Port polygon-style rendering test 2018-11-16 13:40:11 +01:00
ahocevar 6cbde797be Use NaN for unavailable values and handle text creation separately 2018-11-16 13:35:15 +01:00
ahocevar d3355f613c Combine if blocks 2018-11-16 13:04:03 +01:00
Guillaume Beraudo 81d0bc21d5 Pass instructions to executor constructor 2018-11-16 12:36:50 +01:00
Frédéric Junod 2cb9d47547 Merge pull request #8957 from fredj/misc
Fix JSdoc type cast format
2018-11-16 11:25:16 +01:00
Frederic Junod e991dcc38c Fix JSdoc type cast format 2018-11-16 11:12:17 +01:00
Frederic Junod bf9171a689 Add examples/d3.css 2018-11-16 10:47:07 +01:00
Tim Schaub bdbf00f055 Merge pull request #8934 from fgravin/renderingtest
Port layer tiles rendering tests
2018-11-16 10:42:17 +01:00
Guillaume Beraudo ce44a9a3e4 Final renamings 2018-11-15 23:46:20 +01:00
Guillaume Beraudo 89fed65f07 Fix incorrect Executor/Builder types 2018-11-15 23:27:43 +01:00
Guillaume Beraudo da92b2ab3f Improve text replay test 2018-11-15 23:01:45 +01:00
Guillaume Beraudo eaed37da96 Fix width comparison 2018-11-15 20:03:35 +01:00
Guillaume Beraudo b1a5f4855f Create geometryWidths array only when needed 2018-11-15 20:03:34 +01:00
ahocevar 94bf02176e Rename ExecutorGroup and move getMaxExtent to Executor 2018-11-15 20:03:34 +01:00
Frederic Junod 178061ab9d Use ol/layer/Layer instead of ol/source/ImageCanvas in d3 example 2018-11-15 18:30:39 +01:00
Florent gravin f9c64e52af Add rendering test for vector tile layer rotation w/ layer on top 2018-11-15 18:16:58 +01:00
Tim Schaub 00cf75c837 Merge pull request #8944 from jahow/fix-graticule
Use a layer for the graticule instead of a control
2018-11-15 18:07:15 +01:00
Tim Schaub f95070a34d Merge pull request #8948 from fgravin/mapbox-rotation
Add rotation in mapbox-gl example
2018-11-15 18:04:41 +01:00
Frédéric Junod 5bbfeef12b Merge pull request #8953 from fredj/ci_order
Store rendering artifacts immediately after run tests
2018-11-15 17:42:33 +01:00
Frederic Junod 00d9740a58 Store rendering artifacts immediately after run tests 2018-11-15 17:36:34 +01:00
Florent gravin 7630fafcf2 Add rendering test for vector tile layer rotation 2018-11-15 17:32:50 +01:00
Olivier Guyot a3f9c6b724 Update change log w/ breaking changes 2018-11-15 17:13:46 +01:00
Frederic Junod 05bf1d8f4a Remove the resolutions list in sphere-mollweide example 2018-11-15 17:12:40 +01:00
Olivier Guyot 3ac46ad10b Removed old control 2018-11-15 17:12:40 +01:00
Olivier Guyot d5c390e726 Fixed tests & linting 2018-11-15 17:12:40 +01:00
Olivier Guyot 1b8a6baa35 Added extent handling to graticule layer 2018-11-15 17:12:40 +01:00
Olivier Guyot 94bcb8a0f6 Added wrapX option on graticule 2018-11-15 17:12:40 +01:00
Olivier Guyot c69366ec0a Updated the sphere mollweide example 2018-11-15 17:12:40 +01:00
Olivier Guyot 4ee75359c0 Implemented a feature pool for lines and labels 2018-11-15 17:12:40 +01:00
Olivier Guyot adb1bd7a31 First version to handle lines only 2018-11-15 17:12:40 +01:00
Olivier Guyot dbd6dad4f3 Add a new Graticule layer, nothing rendered for now 2018-11-15 17:12:40 +01:00
Frédéric Junod d7a6c4dbe3 Merge pull request #8950 from fredj/shx
Use shx to run unix commands in package.json
2018-11-15 17:12:01 +01:00
Tim Schaub 56131cf6ea Merge pull request #8946 from tschaub/renderer-fixes
Make the map renderer tolerant of layers without renderers
2018-11-15 15:53:49 +01:00
Florent gravin 12f6ce7a44 Add rendering test for vector tile layer 2018-11-15 15:53:06 +01:00
Frederic Junod 52f4f61a6c Use shx to run unix commands in package.json 2018-11-15 15:52:35 +01:00
Guillaume Beraudo f9dcadb982 Remove unused methods 2018-11-15 15:20:41 +01:00
Guillaume Beraudo 0f5ced8483 Reduce usage of "replay" term 2018-11-15 15:20:41 +01:00
Guillaume Beraudo 5ecd832c92 Adapt test to new text builder behaviour 2018-11-15 15:20:41 +01:00
Guillaume Beraudo 87a1b926c9 Cleanup executor of unused properties 2018-11-15 15:20:41 +01:00
Guillaume Beraudo 4ba84d7926 Cleanly separate text building and execution 2018-11-15 15:20:41 +01:00
Guillaume Beraudo afc946b215 Cleanup duplicated and unused code 2018-11-15 15:20:41 +01:00
Guillaume Beraudo c0df61468f Move drawText along line to executor 2018-11-15 15:20:41 +01:00
Guillaume Beraudo 0ece0fb002 Cleanup unused text replay code 2018-11-15 15:20:41 +01:00
ahocevar 4ce19530ce Remove unused methods 2018-11-15 15:20:41 +01:00
ahocevar 3d203f990e Move measureTextWidths to render/canvas 2018-11-15 15:20:41 +01:00
Guillaume Beraudo 3170355b07 Remove unused function from executor 2018-11-15 15:20:41 +01:00
Guillaume Beraudo f5a8ad63f9 Improve typing 2018-11-15 15:20:41 +01:00
Guillaume Beraudo ba6a6fff7d Module renaming 2018-11-15 15:20:41 +01:00
Guillaume Beraudo 951d4d5ade Fix tests 2018-11-15 15:20:41 +01:00
Guillaume Beraudo e299863117 More renaming 2018-11-15 15:20:41 +01:00
Guillaume Beraudo f3bd08321a Rename Replay to InstructionsBuilder 2018-11-15 15:20:41 +01:00
Guillaume Beraudo 8097be8419 Remove replay code from Instruction Builder class 2018-11-15 15:20:41 +01:00
Guillaume Beraudo fcf470fc8d Introduce Instruction executors
Executors are use to render instructions.
They do not contain cod for building instructions.

Signed-off-by: Guillaume Beraudo <guillaume.beraudo@camptocamp.com>
2018-11-15 15:20:41 +01:00
Guillaume Beraudo ecf79a9ec2 First step in uncoupling replay creation and rendering
Signed-off-by: Guillaume Beraudo <guillaume.beraudo@camptocamp.com>
2018-11-15 15:20:41 +01:00
Florent gravin 4988a50760 Add Stamen-label tiles for rendering tests 2018-11-15 15:20:36 +01:00
Florent gravin ebbb54456a Add rendering test for layer 2 tiles extent clipping 2018-11-15 15:20:36 +01:00
Florent gravin 081c677ea2 Add rendering test for layer tile simple 2018-11-15 15:20:36 +01:00
Florent gravin fc85b2ba78 Add rendering test for layer tile transition 2018-11-15 15:20:36 +01:00
Frédéric Junod d0f66b7cec Merge pull request #8943 from fredj/text-style-tests
Port text style rendering tests
2018-11-15 15:20:11 +01:00
Florent gravin 40b2922b4e Add rotation in mapbox-gl example 2018-11-15 12:55:37 +01:00
Frederic Junod 63b04210ab Allow tolerance to be passed to the render function 2018-11-15 12:51:15 +01:00
Frederic Junod 87c721b071 Port text style rendering tests 2018-11-15 12:51:15 +01:00
Tim Schaub edeb5d3e71 Remove unused getLayerRenderersByKey method 2018-11-15 12:36:31 +01:00
Tim Schaub 3f624ec0c0 Make map methods tolerant of layers without renderers 2018-11-15 12:35:54 +01:00
Frédéric Junod 0d94b1a566 Merge pull request #8940 from jahow/fix-overview
Make layers mandatory in the OverviewMap control
2018-11-15 12:18:29 +01:00
Olivier Guyot 593632daea Fix the OverviewMap control & example
Layers must now always be specified for the control.
Base example was amended to reflect that.

The breaking change was added in the update notes.
2018-11-15 12:04:49 +01:00
Frédéric Junod 96dd5417e3 Merge pull request #8938 from fredj/render-toContext-tests
Port render-toContext rendering test
2018-11-15 11:31:13 +01:00
Frederic Junod 68b4ef5ec8 Store rendering artifacts 2018-11-15 11:27:48 +01:00
Frederic Junod 6e964c7934 Port render-toContext rendering test 2018-11-15 11:27:48 +01:00
Frédéric Junod 50ae34fcc6 Merge pull request #8941 from fredj/render_message
Rendering tests render message
2018-11-15 10:36:16 +01:00
Frederic Junod f295a97894 Rendering tests render message 2018-11-14 21:37:45 +01:00
Frédéric Junod aa841c7de2 Merge pull request #8933 from fredj/icon-symbol-svg
Port icon-symbol-svg rendering test
2018-11-14 20:42:33 +01:00
Tim Schaub 0452da92d3 Merge pull request #8931 from fgravin/mapbox-layer
Add Mapbox-gl-js example
2018-11-14 17:14:05 +01:00
Tim Schaub 7ae051c07a Merge pull request #8937 from tschaub/debug-tiles
Make the tile debug source useful for understanding tiles
2018-11-14 17:06:52 +01:00
Frederic Junod bed9c6b09a Don't add mapbox-gl into dependencies 2018-11-14 16:34:36 +01:00
Florent gravin cac323a785 Add mapboxgl npm dependency 2018-11-14 16:30:52 +01:00
Florent gravin c62ebb9f61 Add mapbox-gl-js example 2018-11-14 16:30:52 +01:00
Frederic Junod 488a104a92 Port icon-symbol-svg rendering tests 2018-11-14 16:26:10 +01:00
Frédéric Junod 7a472321c4 Merge pull request #8930 from fredj/better_export_example
Give the layers container a CSS class name
2018-11-14 16:24:12 +01:00
Frédéric Junod 4adcb5ae6c Merge pull request #8914 from fredj/layer_className
Add new className property to ol/layer/Base
2018-11-14 16:23:56 +01:00
Frédéric Junod 19541699c3 Merge pull request #8910 from fredj/containsXY
Implements containsXY for all geometries
2018-11-14 16:23:26 +01:00
Tim Schaub d6e8711172 Merge pull request #8922 from fgravin/layerrenderapi
Layer is reponsible for its renderer
2018-11-14 16:09:23 +01:00
Tim Schaub 46b8f39c71 Merge pull request #8936 from tschaub/rendering-sourcemaps
Serve sourcemaps from webpack during rendering tests
2018-11-14 16:00:20 +01:00
Tim Schaub 0e91365859 Make the tile debug source useful for understanding tiles 2018-11-14 15:58:08 +01:00
Tim Schaub c74d80504e Serve sourcemaps from webpack 2018-11-14 15:51:56 +01:00
Frédéric Junod f9a7cf2251 Merge pull request #8932 from fredj/dt_pbf
Add pbf TypeScript type definitions
2018-11-14 14:02:38 +01:00
Frederic Junod 5afd8178f4 Add pbf TypeScript type definitions 2018-11-13 18:25:42 +01:00
Andreas Hocevar 82ab50a22b Merge pull request #8924 from ahocevar/reuse-vt-replays
Reuse vector tile replays for interim tiles
2018-11-13 17:21:38 +01:00
Frederic Junod bdf98d9003 Give the layers container an CSS class name 2018-11-13 17:04:07 +01:00
Frédéric Junod 2bc0d7f2ce Merge pull request #8918 from fredj/dom-to-image-more
Use dom-to-image-more library in export-map
2018-11-13 16:59:06 +01:00
ahocevar 30909ddbcd When rendering interim tiles, reuse existing replay groups 2018-11-13 16:08:49 +01:00
Andreas Hocevar cda23e0d53 Merge pull request #8928 from ahocevar/mapbox-style
Add vector tile example using ol-mapbox-style
2018-11-13 16:03:31 +01:00
ahocevar 5bfe7089af Update keywords 2018-11-13 15:58:33 +01:00
Frédéric Junod 9c0a7b9ba7 Fix typo
Co-Authored-By: ahocevar <andreas.hocevar@gmail.com>
2018-11-13 15:49:39 +01:00
ahocevar 391fff38aa Add vector tile example using ol-mapbox-style 2018-11-13 15:47:11 +01:00
Frédéric Junod fd0acaccd1 Merge pull request #8925 from fredj/misc
Don't compute value more that once, remove unneeded type cast
2018-11-13 15:16:33 +01:00
Tim Schaub 96cca7ac18 Merge pull request #8927 from tschaub/local
Use local data for rendering tests
2018-11-13 05:50:59 -07:00
Tim Schaub c3c5b3b314 Use local data for rendering tests 2018-11-13 13:37:14 +01:00
Frederic Junod 22eb96637f Add new className property to ol/layer/Base 2018-11-13 13:09:06 +01:00
Florent gravin c2c599a517 Layer is now responsible of its rendering 2018-11-13 12:51:04 +01:00
Florent gravin d21a88edce Remove map renderer dependency in layer renderer 2018-11-13 12:51:04 +01:00
Frederic Junod 1e1dca5342 Remove unneeded type cast 2018-11-13 12:09:09 +01:00
Frederic Junod 5eed22286b Don't compute value more that once 2018-11-13 12:08:53 +01:00
Frédéric Junod 647421f07b Merge pull request #8920 from fredj/rm_relative
Remove unneeded 'relative' positioning
2018-11-13 11:46:39 +01:00
Frederic Junod 09d87bf33d Remove unneeded 'relative' positioning 2018-11-13 11:36:45 +01:00
Tim Schaub 2caa74a4e9 Merge pull request #8913 from fgravin/intermediatecanvas-renderframe
Implement renderFrame function for intermediate canvas renderer
2018-11-13 03:06:21 -07:00
Florent gravin a6f94f865b Clear canvas in prepareFrame() 2018-11-12 21:51:39 +01:00
Florent gravin 697e475ee4 Add composite renderFrame() in IntermediateCanvas 2018-11-12 21:51:39 +01:00
Florent gravin 4c787c7f57 Set composite root div position relative 2018-11-12 21:51:39 +01:00
Frederic Junod d02730abc1 Use dom-to-image-more library in export-map 2018-11-12 21:41:49 +01:00
Tim Schaub 04077675e1 Merge pull request #8916 from tschaub/intermediate-context
Move canvas creation to intermediate canvas renderer constructor
2018-11-12 13:07:01 -07:00
Tim Schaub 1c3e7a548f Merge pull request #8917 from tschaub/layer-transforms
Apply all transforms in the layer renderer
2018-11-12 13:06:43 -07:00
Tim Schaub 432b74d64d Apply all transforms in the layer renderer 2018-11-12 20:57:36 +01:00
Tim Schaub 55a963e0a9 Move canvas creation to intermediate canvas renderer constructor 2018-11-12 20:57:07 +01:00
Tim Schaub 0c97fd63e2 Merge pull request #8912 from tschaub/rotation
Rotation support in the composite renderer
2018-11-12 10:50:02 -07:00
Tim Schaub edaa615333 Less typing to run the examples 2018-11-12 18:33:07 +01:00
Tim Schaub afc64258af Support for rotation 2018-11-12 18:33:02 +01:00
timkeane 7274798aa1 Implement ol/geom/Geometry#containsXY
Fixes issue #8863
ol/source/Vector#getFeaturesAtCoordinate and
implementations of ol/geom/Geometry#containsXY
2018-11-12 17:15:44 +01:00
timkeane 5967bc75ba ol/geom/MultiLineString#containsXY 2018-11-12 17:15:22 +01:00
timkeane c1963ba369 ol/geom/LineString#containsXY 2018-11-12 17:15:10 +01:00
timkeane 58b474225c ol/geom/MultiPoint#containsXY 2018-11-12 17:14:38 +01:00
timkeane daffbde80b ol/geom/Point#containsXY 2018-11-12 17:14:07 +01:00
Tim Schaub 4a5fa1f840 Merge pull request #8908 from tschaub/opacity
Handle layer opacity in the composite renderer
2018-11-12 07:55:26 -07:00
Tim Schaub 8bf252e70f Handle layer opacity in the composite renderer 2018-11-12 15:16:06 +01:00
Tim Schaub 95c363075c Merge pull request #8848 from tschaub/renderers
Make layer renderers explicit layer dependencies
2018-11-12 07:10:00 -07:00
Tim Schaub a9b2952be4 Add support for running a subset of rendering tests 2018-11-12 14:54:52 +01:00
Tim Schaub dc05f48294 Use composite renderer in linestring test 2018-11-12 14:54:52 +01:00
Tim Schaub 43ed2c1764 Composite renderer 2018-11-12 14:54:52 +01:00
Tim Schaub fc6882f146 Utility method for efficiently managing child nodes 2018-11-12 14:54:12 +01:00
Tim Schaub a69eeceeba Switch map and layer constructor in tests
The webgl tests do not run currently (which is why these have not been failing).
2018-11-12 14:54:12 +01:00
Tim Schaub ca5b0c63a5 Remove LayerType 2018-11-12 14:54:11 +01:00
Tim Schaub c50b9b2c25 Fix examples that use WebGLMap 2018-11-12 14:54:11 +01:00
Tim Schaub f6b838c635 Make webgl layer renderers dependencies of webgl layers 2018-11-12 14:54:11 +01:00
Tim Schaub 7374e32007 Canvas layer renderers are now dependencies of layers 2018-11-12 14:54:11 +01:00
Tim Schaub 2ec509fbca Add an image vector layer for rendering vectors to an image 2018-11-12 14:54:11 +01:00
Tim Schaub ae1f3afd66 Base for tile layers, renderer-specific tile layer types 2018-11-12 14:54:11 +01:00
Tim Schaub 285a610c46 Base for image layers, renderer-specific image layer types 2018-11-12 14:54:10 +01:00
Tim Schaub c9529b9acd Create the appropriate renderer for vector tile layers 2018-11-12 14:54:10 +01:00
Tim Schaub 7ffaa134c7 Conditionally get renderer from the layer 2018-11-12 14:54:10 +01:00
Tim Schaub 6c052c0dab Split vector layer into Canvas and WebGL implementations 2018-11-12 14:54:09 +01:00
Frédéric Junod 6e27b47fc3 Merge pull request #8892 from fredj/do_typo
Use the right device orientation property in example
2018-11-12 11:57:00 +01:00
Frédéric Junod cbcd1fdcec Merge pull request #8905 from openlayers/greenkeeper/rollup-0.67.1
Update rollup to the latest version 🚀
2018-11-11 21:05:40 +01:00
greenkeeper[bot] b6ca51a9e6 chore(package): update rollup to version 0.67.1 2018-11-11 15:03:46 +00:00
Tim Schaub cb9925034c Merge pull request #8904 from tschaub/default-index
Add support for a default index page in the rendering tests
2018-11-10 15:57:24 -07:00
Tim Schaub 767aa7b7a4 Add support for a default index page 2018-11-10 12:44:31 -07:00
Tim Schaub 83c988eed5 Merge pull request #8903 from tschaub/rendering-tests
Additional render tests
2018-11-10 12:22:18 -07:00
Tim Schaub f67e5642ab Rendering test for an icon 2018-11-10 09:36:23 -07:00
Tim Schaub 7dc5bf3e8d Limit requests sent to webpack middleware 2018-11-10 09:35:32 -07:00
Tim Schaub 0ebc023223 Test a rotated view 2018-11-10 08:31:36 -07:00
Tim Schaub 14d59623aa Expose headless flag 2018-11-10 08:18:41 -07:00
Tim Schaub 67b08a302e Use configured logger 2018-11-10 08:16:56 -07:00
Tim Schaub 93ff80449f Merge pull request #8902 from openlayers/greenkeeper/rollup-0.67.0
Update rollup to the latest version 🚀
2018-11-10 07:10:30 -07:00
greenkeeper[bot] 6aed520d8f chore(package): update rollup to version 0.67.0 2018-11-10 06:59:01 -07:00
Tim Schaub c43b0cb520 Merge pull request #8895 from tschaub/rendering-tests
New rendering tests
2018-11-09 17:46:32 -07:00
Tim Schaub 6f238a8d09 Add stub support for interactive mode 2018-11-09 15:06:27 -07:00
Tim Schaub 800776b6cb Only test outdated cases by default 2018-11-09 14:43:11 -07:00
Frederic Junod f444da29bc Add linestring-style rendering test 2018-11-09 13:51:41 -07:00
Tim Schaub 4923fac359 Avoid 404 for favicon.ico 2018-11-09 13:45:19 -07:00
Tim Schaub 8c89e17618 Avoid headless mode in CI 2018-11-09 12:41:48 -07:00
Tim Schaub 1253558006 Register new handler for render with each page navigation 2018-11-09 09:02:08 -07:00
Tim Schaub 67ee32fdea New rendering tests 2018-11-09 09:02:08 -07:00
Frédéric Junod aab9ff023c Merge pull request #8893 from fredj/proj_sideEffects
Add proj.js to the sideEffects list
2018-11-08 11:42:48 +01:00
Frederic Junod a73e9607a8 Add proj.js to the sideEffects list 2018-11-07 16:26:04 +01:00
Frederic Junod 017a78d2d1 Use the right device orientation property in example 2018-11-07 15:58:23 +01:00
Tim Schaub 7321541de8 Merge pull request #8887 from openlayers/release-v5.3.0
Changes for 5.3.0
2018-11-06 09:46:18 -07:00
Tim Schaub 346cd562ee Changes for 5.3.0 2018-11-06 09:37:17 -07:00
Tim Schaub ba88081eba Merge pull request #8642 from dimin/master
fixes for optional key passing, issue #8067 for tile sources
2018-11-06 08:56:25 -07:00
Frédéric Junod 2a3b21cfd9 Merge pull request #8885 from fredj/rm_GeolocationProperty
Move GeolocationProperty into Geolocation
2018-11-06 10:28:01 +01:00
Frederic Junod 785954f722 Move GeolocationProperty into Geolocation
`GeolocationProperty` is only used in `Geolocation`.
2018-11-06 08:38:53 +01:00
Tim Schaub b8b3dcc066 Merge pull request #8884 from openlayers/greenkeeper/webpack-4.25.1
Update webpack to the latest version 🚀
2018-11-05 13:15:19 -07:00
greenkeeper[bot] 76c4c2f85c chore(package): update webpack to version 4.25.1 2018-11-05 19:04:35 +00:00
Tim Schaub 65bbee4c8b Merge pull request #8881 from fredj/dnd_style
Remove custom styles in drag-and-drop examples
2018-11-05 10:06:33 -07:00
Tim Schaub 10b56a4543 Merge pull request #8877 from tschaub/unconditional-context
Create context in vector tile layer constructor
2018-11-05 10:04:54 -07:00
Tim Schaub 42a094d730 Merge pull request #8883 from tschaub/new-ci
New test runner
2018-11-05 10:04:24 -07:00
Tim Schaub 680ce960e1 Test Chrome with CircleCI 2018-11-05 09:54:16 -07:00
Tim Schaub 77959efcff Updated dev dependencies 2018-11-05 09:28:19 -07:00
Frederic Junod dc988cba60 Remove custom styles in drag-and-drop examples 2018-11-05 17:13:16 +01:00
Frédéric Junod 5f747cbf1b Merge pull request #8882 from fredj/import_path
Import simplification
2018-11-05 17:07:20 +01:00
Frédéric Junod 2b025e2266 Merge pull request #8858 from webgeodatavore/issue-7397
Add condition for viewParams and TypeScript related option
2018-11-05 16:28:09 +01:00
Frederic Junod 71ac0b18a9 Simplify import path in ol/reproj/ 2018-11-05 16:26:45 +01:00
Frederic Junod 3cf4dbfcc6 Simplify import path in ol/renderer/ 2018-11-05 16:26:45 +01:00
Frederic Junod 1732ed5a04 Simplify import path in ol/render/ 2018-11-05 16:26:45 +01:00
Frederic Junod 59c95dbe90 Simplify import path in ol/pointer/ 2018-11-05 16:26:45 +01:00
Frederic Junod 711afac80f Simplify import path in ol/format/ 2018-11-05 16:26:45 +01:00
Frederic Junod 43def3194f Simplify import path in ol/events/ 2018-11-05 16:26:45 +01:00
Frederic Junod caf11a71f2 Simplify import path in ol/geom/ 2018-11-05 16:26:45 +01:00
Frederic Junod 53c2be0c7a Simplify import path in ol/proj/ 2018-11-05 16:26:45 +01:00
Frederic Junod caaf8cb86f Simplify import path in ol/style/ 2018-11-05 16:26:45 +01:00
Frederic Junod 219dacb232 Simplify import path in ol/tilegrid/ 2018-11-05 16:26:45 +01:00
Frederic Junod 9ab201642c Simplify import path in ol/control/ 2018-11-05 16:26:45 +01:00
Frederic Junod 6d608c361a Simplify import path in ol/interaction/ 2018-11-05 16:26:45 +01:00
Frederic Junod 6a797e84ff Simplify import path in ol/layer/ 2018-11-05 16:26:45 +01:00
Frederic Junod c12b41f8c6 Simplify import path in ol/source/ 2018-11-05 16:26:45 +01:00
Tim Schaub aaad5b4977 Merge pull request #8879 from openlayers/circleci
Build with CircleCI
2018-11-05 06:59:35 -07:00
Tim Schaub c2e756da05 Merge pull request #8878 from tschaub/test-log
Avoid logging 404 warnings
2018-11-05 06:58:23 -07:00
Andreas Hocevar 467e13fa2d Merge pull request #8880 from openlayers/greenkeeper/webpack-4.25.0
Update webpack to the latest version 🚀
2018-11-05 14:57:47 +01:00
greenkeeper[bot] e0a46dd178 chore(package): update webpack to version 4.25.0 2018-11-05 09:38:54 +00:00
Tim Schaub aeb3e5b271 Build with CircleCI 2018-11-04 22:10:00 -07:00
Tim Schaub f34cb17ffa Avoid logging 404 warnings 2018-11-04 18:27:06 -07:00
Tim Schaub 5dfa82c27e Create context in vector tile layer constructor 2018-11-04 17:43:04 -07:00
Tim Schaub e55cca1e7d Merge pull request #8876 from tschaub/extra-render-type
Remove RenderType enum from vector tile layer
2018-11-04 11:30:29 -07:00
Tim Schaub d197864f5a Remove RenderType enum from vector tile layer 2018-11-04 10:27:35 -07:00
Tim Schaub 4d5d428a96 Merge pull request #8874 from tschaub/uncast
Remove unnecessary type casts in canvas layer renderer
2018-11-04 10:12:20 -07:00
Tim Schaub 0091bfa106 Remove unnecessary type casts in canvas layer renderer 2018-11-04 09:57:19 -07:00
Tim Schaub 765d2cdc9f Merge pull request #8872 from openlayers/greenkeeper/webpack-4.24.0
Update webpack to the latest version 🚀
2018-11-03 18:36:38 -06:00
Dmitry Fedorov 1de22f77dc merged with upstream and improved key handling 2018-11-02 17:19:10 -07:00
greenkeeper[bot] f2b4555e1f chore(package): update webpack to version 4.24.0 2018-11-02 19:46:21 +00:00
Andreas Hocevar 3f69066d79 Merge pull request #8869 from ahocevar/typescript-fixes
Fix more types for TypeScript
2018-10-31 12:07:28 +01:00
Andreas Hocevar 1a00e20b1b Merge pull request #8868 from ahocevar/abstract-methods
Throw when calling abstract methods; fix abstract return types
2018-10-31 12:07:01 +01:00
Andreas Hocevar c90b8c2a12 Merge pull request #8862 from ahocevar/legacy-build
Legacy build and apidoc improvements
2018-10-31 08:35:38 +01:00
Andreas Hocevar 6f57a272d0 Merge pull request #8867 from ahocevar/fix-examples
Fix example builder
2018-10-31 08:35:10 +01:00
ahocevar 1cdd040c96 Throw when calling abstract methods; fix abstract return types 2018-10-30 18:55:49 +01:00
ahocevar 1df9189d7f Fix more types for TypeScript 2018-10-30 18:55:03 +01:00
ahocevar 071a02556e Fix example builder 2018-10-30 18:25:01 +01:00
ahocevar f8c0d284de Fix module paths 2018-10-29 19:15:01 +01:00
ahocevar b50749e1ea Use jsdoc-plugin-typescript 2018-10-29 19:15:01 +01:00
ahocevar e239eb338f Use webpack instead of rollup for the legacy build
This also changes the target path of the legacy build to build/legacy
2018-10-25 22:00:22 +02:00
ahocevar 1674620943 Use individual imports instead of * imports 2018-10-25 21:54:06 +02:00
ahocevar 6ceb03f86b Use typescript-plugin for generate-info task 2018-10-25 21:52:58 +02:00
ahocevar ba20c6333b Move convert-types plugin to place for common use 2018-10-25 21:49:02 +02:00
Frédéric Junod 2adac0b3e7 Merge pull request #8860 from openlayers/greenkeeper/webpack-4.23.1
Update webpack to the latest version 🚀
2018-10-25 13:15:01 +02:00
greenkeeper[bot] 0a530725c6 chore(package): update webpack to version 4.23.1 2018-10-25 09:36:50 +00:00
Andreas Hocevar 391e38a973 Merge pull request #8852 from ahocevar/jsdoc-markdown
Improve link handling in API docs
2018-10-25 11:21:46 +02:00
Frédéric Junod 7f1728f8d4 Merge pull request #8855 from openlayers/greenkeeper/webpack-4.23.0
Update webpack to the latest version 🚀
2018-10-25 08:33:02 +02:00
ThomasG77 d3fdda6efc Add condition for viewParams and TypeScript related option 2018-10-25 05:46:49 +02:00
greenkeeper[bot] 1ed51d02e3 chore(package): update webpack to version 4.23.0 2018-10-24 18:13:06 +00:00
Andreas Hocevar 8f12177593 Merge pull request #8853 from ahocevar/rendercomplete-vector
Make rendercomplete work with vector sources without loader
2018-10-24 19:40:14 +02:00
ahocevar f82619d6d0 Make rendercomplete work with vector sources without loader 2018-10-24 18:37:51 +02:00
ahocevar 453a723005 Improve link handling in API docs 2018-10-24 17:52:42 +02:00
Frédéric Junod e8da3929d5 Merge pull request #8851 from fredj/rbush_types
Use typescript types for RBush
2018-10-24 17:21:17 +02:00
Frederic Junod 1f1951f3cc Use typescript types for RBush
The `toJSON` function simply returns the `data` property.
See: https://github.com/mourner/rbush/blob/v2.0.2/index.js#L184
2018-10-24 17:07:41 +02:00
Frédéric Junod 208f125158 Merge pull request #8850 from fredj/misc
Remove old TODO in ol/Graticule
2018-10-24 16:58:42 +02:00
Frederic Junod df632dbaa9 Remove old TODO in ol/Graticule
Fixed with #8800
2018-10-24 16:51:35 +02:00
Andreas Hocevar b11daa8344 Merge pull request #8847 from ahocevar/fix-apidocs
Fix API docs
2018-10-24 00:25:58 +02:00
Tim Schaub 0130ce71ba Merge pull request #8845 from tschaub/no-render-type
Remove RenderType enum from vector layer
2018-10-23 13:20:47 -06:00
ahocevar 3a42a0859c Fix event documentation 2018-10-23 18:05:43 +02:00
ahocevar 0593c352af Avoid duplicate documentation 2018-10-23 18:05:26 +02:00
ahocevar 724d141d3a Fix links and navigation 2018-10-23 18:05:02 +02:00
ahocevar deb6c093a8 Update plugin chain to support JSDoc import types 2018-10-23 18:04:26 +02:00
ahocevar 0b21d1a6fc Document anonymous default exports 2018-10-23 18:01:46 +02:00
ahocevar d1395d005c Fix comments for JSDoc 2018-10-23 17:58:50 +02:00
ahocevar cd2f0f60d6 Make link texts consistent with docs 2018-10-23 17:40:51 +02:00
Tim Schaub f58603bddf Remove RenderType enum from vector layer 2018-10-23 08:46:50 -06:00
Antoine Abt 1740f02737 Merge pull request #8843 from tonio/ts_fullscreen
Fix ts typing for fullscreen button
2018-10-23 14:18:46 +02:00
Frédéric Junod 0cd3e39fe8 Merge pull request #8841 from fredj/super
Use super.method instead of prototype.method.call
2018-10-23 13:25:11 +02:00
Frédéric Junod d5c895aa8b Merge pull request #8842 from fredj/element_type
Change target type from Element to HTMLElement
2018-10-23 13:24:53 +02:00
Éric Lemoine 9810250fb4 Merge pull request #8840 from elemoine/ele_zindexkeys
Remove unneeded code in VectorTile renderer
2018-10-23 11:08:18 +02:00
Éric Lemoine 8a2f74fbe8 Merge pull request #8844 from elemoine/ele_crossorigin
Set crossOrigin to anonymous in mapbox-streets-v6-style
2018-10-23 11:04:38 +02:00
Andreas Hocevar 0801b9e0be Merge pull request #8776 from ahocevar/no-window-settimeout
Use setTimeout without the window namespace
2018-10-23 11:03:32 +02:00
Antoine Abt fc8ba24d3f Store button and correctly type it. 2018-10-23 11:02:43 +02:00
Éric Lemoine e0a018fa1e Set crossOrigin to anonymous in mapbox-streets-v6-style 2018-10-23 10:56:33 +02:00
Frederic Junod 3746ba99cf Change target type from Element to HTMLElement
Same as the parent class type for `MousePosition` and the type returned by the
`getViewport` function.
2018-10-23 09:17:17 +02:00
Frederic Junod d294b87358 Use super.method instead of prototype.method.call 2018-10-23 09:15:51 +02:00
Éric Lemoine 29b21da608 Remove unneeded code in VectorTile renderer 2018-10-23 07:55:34 +02:00
Tim Schaub 0787aa3439 Merge pull request #8838 from openlayers/greenkeeper/webpack-4.22.0
Update webpack to the latest version 🚀
2018-10-21 07:42:34 -06:00
greenkeeper[bot] 41fea9905a chore(package): update webpack to version 4.22.0 2018-10-21 10:24:50 +00:00
Frédéric Junod 7cd7a4d111 Merge pull request #8837 from fredj/mp_reexport
Re-export MousePosition from ol/control
2018-10-20 18:44:47 +02:00
Frederic Junod a06ad4940c Re-export MousePosition from ol/control 2018-10-19 14:05:55 +02:00
Frédéric Junod 6ff7747d98 Merge pull request #8832 from fredj/remove-source-foreachfeatureatcoordinate
Remove source foreachfeatureatcoordinate from ol/renderer/webgl/ImageLayer
2018-10-19 11:20:33 +02:00
Frédéric Junod e4816faadf Merge pull request #8834 from openlayers/greenkeeper/webpack-4.21.0
Update webpack to the latest version 🚀
2018-10-18 08:34:30 +02:00
Frédéric Junod f0c164802f Merge pull request #8833 from fredj/misc
Fix wrong filename in type annotation
2018-10-18 08:27:12 +02:00
greenkeeper[bot] ae409f40d5 chore(package): update webpack to version 4.21.0 2018-10-17 18:36:13 +00:00
Frederic Junod 7e142080a1 Remove hasFeatureAtCoordinate from ol/renderer/webgl/ImageLayer 2018-10-17 17:08:53 +02:00
Frederic Junod 1a0f398f1f Fix wrong filename in type annotation 2018-10-17 15:47:15 +02:00
Frederic Junod 648ee4f4a4 Remove forEachFeatureAtCoordinate from ol/renderer/webgl/ImageLayer 2018-10-17 15:44:45 +02:00
Frédéric Junod 3d72490241 Merge pull request #8827 from schmidtk/remove-source-foreachfeatureatcoordinate
Removed unused forEachFeatureAtCoordinate from ol/source/Source
2018-10-17 15:09:37 +02:00
Kevin Schmidt df4ef724b6 Removed unused forEachFeatureAtCoordinate from ol/source/Source
Fixes #8826.
2018-10-17 06:10:10 -06:00
Frédéric Junod d2d041e54a Merge pull request #8830 from fredj/misc
Type annotation fixes in ol/control/
2018-10-17 13:26:05 +02:00
Frederic Junod 94fd57f690 Set projection property in MousePosition option optional 2018-10-17 10:56:11 +02:00
Frederic Junod 939aa565b5 Change ol/control/ScaleLine getUnits return type
Remove `undefined` from the return type: the default value is 'metric'
2018-10-17 10:48:19 +02:00
Frédéric Junod 1035ba7bf2 Merge pull request #8829 from fredj/getuid
Change getUid return type from number to string
2018-10-17 10:46:49 +02:00
Frederic Junod 041836c645 Change getUid return type from number to string 2018-10-17 10:22:53 +02:00
Frédéric Junod a85099a36b Merge pull request #8825 from schmidtk/ts-misc-errors
Fix TypeScript errors
2018-10-17 09:45:28 +02:00
Éric Lemoine cddfc11125 Merge pull request #8828 from elemoine/ele_source
Re-export VectorTile from ol/source
2018-10-17 07:49:03 +02:00
Éric Lemoine d387702644 Re-export VectorTile from ol/source 2018-10-16 21:49:34 +02:00
Kevin Schmidt 49a4bf4248 Fix TypeScript error in ol/control/OverviewMap 2018-10-16 09:24:00 -06:00
Kevin Schmidt 1e90ffacec Avoid spread operator to fix TypeScript errors 2018-10-16 09:20:20 -06:00
Andreas Hocevar 43ca764293 Merge pull request #8806 from notnotse/preserve-fullscreen-button-class-names
Preserve button class name list in full screen control on toggle
2018-10-16 16:58:44 +02:00
Kevin Schmidt fb11aad1d1 Fix geometry type in ol/renderer/vector#renderGeometry 2018-10-16 08:34:02 -06:00
Kevin Schmidt f7adeac774 Fix arguments passed to forEachLayerAtCoordinate 2018-10-16 08:34:02 -06:00
Frédéric Junod 076d6425cb Merge pull request #8817 from romanzoller/wmts-document-image-format
Clarify format option for ol/source/WMTS
2018-10-16 16:20:36 +02:00
Frédéric Junod 2809784247 Merge pull request #8824 from schmidtk/ts-format-gml
Fix TypeScript errors in ol/format/GML
2018-10-16 16:09:58 +02:00
Kevin Schmidt ee9c9bcefb Fix TypeScript errors in ol/format/GML 2018-10-16 07:20:22 -06:00
Andreas Hocevar e37039d85e Merge pull request #8820 from hmdavidjunior/master
Polygon intersectsExtent failure - Issue #8795
2018-10-16 14:12:09 +02:00
Frédéric Junod 9362e33be9 Merge pull request #8519 from NielsCharlier/complex
GML Format Improvements #8516 #8517 #8518
2018-10-16 09:10:09 +02:00
Frederic Junod aea9479c12 Rename parsers objects in ol/format/GML32 2018-10-16 08:48:42 +02:00
Frederic Junod 6b24760299 Fix jsdoc type notation 2018-10-16 08:26:41 +02:00
Niels Charlier 594a921598 Enable parsing complex features 2018-10-16 08:26:41 +02:00
NielsCharlier 2005c82dd2 add GML3.2 format 2018-10-16 08:26:41 +02:00
NielsCharlier 6252404d5b Fix GML Format featureMember tag 2018-10-16 08:25:53 +02:00
Frédéric Junod 316b4a1bb7 Merge pull request #8711 from schmidtk/ts-format-gml
Fix TypeScript errors in ol/format/GML
2018-10-16 08:25:41 +02:00
Hermes David Junior 7ec19645e9 Polygon intersectsExtent failure - Issue #8795 2018-10-15 10:00:37 -04:00
Andreas Hocevar b43e5929f2 Merge pull request #8818 from cs09g/patch-1
fix the way zoom comes from
2018-10-15 14:23:07 +02:00
Seul-gi Choi(Chase) f8585962b4 fix the way zoom comes from
fix zoom from view to tilegrid
2018-10-15 20:57:23 +09:00
Roman Zoller 43b9f70077 Clarify format option for ol/source/WMTS 2018-10-15 13:29:19 +02:00
Andreas Hocevar 6e7558e954 Merge pull request #8804 from notnotse/issue/8621-disable-collapsible-attributions-for-osm
Add possibility to disable collapsible attributions from Source
2018-10-14 12:16:36 +02:00
ahocevar 2768884044 Make new behavior overridable; update docs and examples 2018-10-14 12:10:40 +02:00
ahocevar af4e5ca7cf Improve JSDoc 2018-10-14 09:57:26 +02:00
Andreas Hocevar 9285b283c0 Merge pull request #8787 from ahocevar/no-instanceof
Replace instanceof checks with other logic
2018-10-12 20:44:41 +02:00
ahocevar 9163558511 Replace instanceof checks with other logic 2018-10-12 20:35:59 +02:00
Frédéric Junod 80753eb909 Merge pull request #8808 from fredj/f8807
Fix format and version properties in ol/source/WMTS Options typedef
2018-10-12 12:53:23 +02:00
Andreas Hocevar 3e860d2c61 Merge pull request #8812 from rosedo/patch-1
Update snap.js
2018-10-12 12:15:03 +02:00
Andreas Hocevar 3ce80fbfb1 Merge pull request #8809 from notnotse/issue/8800-configurable-interval-options
Configurable interval options
2018-10-12 12:09:27 +02:00
Andreas Hocevar 8aebed1cd6 Add intervals default to documentation 2018-10-12 12:03:45 +02:00
Dominic Rose 90395c2355 Update snap.js
this was undefined inside the call to selectedFeatures.remove
2018-10-12 12:00:38 +02:00
itjope 50f90cdf61 Preserve button class name list in full screen control on toggle 2018-10-12 11:37:43 +02:00
Bobo Häggström 04f2174052 Add test for attributionsCollapsible property on source 2018-10-12 11:28:48 +02:00
Frédéric Junod 0f15d38ae7 Merge pull request #8798 from fredj/rawgit
Use unpkg.com instead of rawgit.com
2018-10-12 11:04:39 +02:00
Bobo Häggström 667f9a58f3 Add option to configure graticule interval limits 2018-10-12 10:41:12 +02:00
Bobo Häggström 2f4d31c8f4 Add possibility to disable collapsible attributions from Source 2018-10-12 09:28:34 +02:00
Frederic Junod ad3f248825 Fix format and version properties in ol/source/WMTS Options typedef 2018-10-12 08:51:03 +02:00
Andreas Hocevar c2c8cdab29 Merge pull request #8805 from notnotse/issue/8700-tile-scaled-below-zero
Do not draw image with width or height < 0.5
2018-10-11 19:40:41 +02:00
Andreas Hocevar e828231449 Merge pull request #8803 from notnotse/zoom-slider-fix
Handle zoom slider position with floating point numbers
2018-10-11 17:38:34 +02:00
Bobo Häggström dded939a07 Do not draw image with width or height < 0.5 2018-10-11 15:22:48 +02:00
Andreas Hocevar 945f686f8a Remove 2nd argument of parseFloat 2018-10-11 14:00:15 +02:00
itjope 2c6e80a601 Handle zoom slider position with floating point numbers 2018-10-11 12:50:51 +02:00
Andreas Hocevar da41515944 Merge pull request #8799 from openlayers/greenkeeper/rollup-0.66.6
Update rollup to the latest version 🚀
2018-10-11 07:33:02 +02:00
greenkeeper[bot] 15c9fe7867 chore(package): update rollup to version 0.66.6 2018-10-10 15:12:48 +00:00
Frederic Junod 6d1cc3ba88 Use unpkg.com instead of rawgit.com 2018-10-10 15:11:07 +02:00
Frederic Junod db15bb0942 Fix indentation 2018-10-10 14:55:33 +02:00
Frederic Junod 94da8dd0e2 Move adaptAttributions out of the class, set default Options values 2018-10-10 14:23:13 +02:00
Frédéric Junod 02b2be5b40 Merge pull request #8796 from openlayers/greenkeeper/rollup-plugin-commonjs-9.2.0
Update rollup-plugin-commonjs to the latest version 🚀
2018-10-10 10:36:23 +02:00
greenkeeper[bot] 7672fe3b16 chore(package): update rollup-plugin-commonjs to version 9.2.0 2018-10-10 04:21:56 +00:00
Frédéric Junod 04c2359d49 Merge pull request #8793 from openlayers/greenkeeper/rollup-plugin-buble-0.19.4
Update rollup-plugin-buble to the latest version 🚀
2018-10-09 12:58:37 +02:00
greenkeeper[bot] f15ac14d2a chore(package): update rollup-plugin-buble to version 0.19.4 2018-10-09 11:41:25 +02:00
Frédéric Junod 177190403f Merge pull request #8794 from openlayers/greenkeeper/rollup-0.66.5
Update rollup to the latest version 🚀
2018-10-09 11:40:29 +02:00
greenkeeper[bot] 12786e4352 chore(package): update rollup to version 0.66.5 2018-10-09 05:43:29 +00:00
Kevin Schmidt d308288eed Fix TypeScript errors in ol/format/GML 2018-10-08 05:36:21 -06:00
Frédéric Junod d6aced3e43 Merge pull request #8789 from fredj/misc
Spelling and indentation fixes
2018-10-08 09:23:14 +02:00
Frederic Junod 720993431c Fix indentation 2018-10-08 08:50:40 +02:00
Frederic Junod 69dfbb9e54 Fix spelling 2018-10-08 08:30:10 +02:00
Tim Schaub 23473a8346 Merge pull request #8788 from openlayers/greenkeeper/front-matter-3.0.0
Update front-matter to the latest version 🚀
2018-10-06 22:26:12 -06:00
greenkeeper[bot] 414f6e0384 chore(package): update front-matter to version 3.0.0 2018-10-05 17:43:49 +00:00
Andreas Hocevar 96e99e481e Merge pull request #8782 from wallw-bits/fix-typecheck-render-feature
Fix getSimplifiedGeometry definition
2018-10-04 21:55:17 +02:00
Andreas Hocevar f5e8e3e009 Merge pull request #8783 from wallw-bits/fix-typecheck-replaygroup
Fix missing method declaration
2018-10-04 21:53:55 +02:00
Andreas Hocevar 61dedbbe6d Merge pull request #8785 from openlayers/greenkeeper/rollup-0.66.4
chore(package): update rollup to version 0.66.4
2018-10-04 15:05:47 +02:00
greenkeeper[bot] f3f138b9bc chore(package): update rollup to version 0.66.4
Closes #8777
2018-10-04 08:46:43 +00:00
William Wall b8addb4c24 Fix missing method declaration
ol/renderer/vector was using the abstract ReplayGroup type while
referencing replayGroup.addDeclutter(), which was only defined
on the canvas and webgl implementations and was also defined
differently.
2018-10-03 16:08:26 -06:00
William Wall 8be23b799d Fix getSimplifiedGeometry definition
The override here should match the definition in ol/geom/Geometry
2018-10-03 15:23:10 -06:00
Marc Jansen 84dda90bfc Merge pull request #8781 from schmidtk/ts-misc-errors
Fix type check errors
2018-10-03 22:51:44 +02:00
Kevin Schmidt a92c992e1a Cast to Array to avoid false union mismatch 2018-10-03 13:55:12 -06:00
Kevin Schmidt c0903e6fc1 Cast overloaded ends property to fix type check errors 2018-10-03 13:23:40 -06:00
Kevin Schmidt 8d9fe7f688 Use void for optional return type 2018-10-03 13:23:05 -06:00
Andreas Hocevar 144c2f9f15 Merge pull request #8779 from schmidtk/ts-misc-errors
Fix additional type check errors
2018-10-03 19:38:55 +02:00
Andreas Hocevar 4a066670c2 Merge pull request #8753 from wallw-bits/fix-typecheck-pluggablemap
Fix type check in ol/PluggableMap.js
2018-10-03 19:33:12 +02:00
Kevin Schmidt 3781a6881d Fix type check errors in ol/layer/VectorTile 2018-10-03 11:24:41 -06:00
Kevin Schmidt 9d4821aafc Fix type check errors in ol/interaction/Snap 2018-10-03 11:20:56 -06:00
Kevin Schmidt 38aa620afa Fix type check errors in ol/layer/Layer 2018-10-03 10:42:05 -06:00
Kevin Schmidt ddae414ddc Fix type check errors in ol/format/MVT 2018-10-03 10:41:52 -06:00
Kevin Schmidt d3a82b0586 Fix type check errors in ol/pointer 2018-10-03 10:41:29 -06:00
Andreas Hocevar 83763a73d9 Merge pull request #8762 from schmidtk/ts-pointer-interaction-this
Fix type errors from interaction event handlers
2018-10-03 15:48:54 +02:00
Kevin Schmidt 07349de59b Add tests for interaction event handlers 2018-10-03 06:59:18 -06:00
Kevin Schmidt 909869b8b9 Fix type check errors in ol/interaction/Extent 2018-10-03 06:35:18 -06:00
Kevin Schmidt 942a0976be Move interaction event handlers to class methods 2018-10-03 06:30:09 -06:00
ahocevar 3397796ff2 Use setTimeout without the window namespace 2018-10-03 13:06:14 +02:00
ahocevar 9586c7cbc7 Get rid of private handler members 2018-10-03 05:06:01 -06:00
Kevin Schmidt 18570841d8 Move interaction event handlers to class methods 2018-10-03 05:06:01 -06:00
Andreas Hocevar bafb9e4a8c Merge pull request #8763 from wallw-bits/fix-typecheck-events
Fix type check for ol/events
2018-10-03 11:52:44 +02:00
Tim Schaub 4cb5dc695b Merge pull request #8774 from schmidtk/ts-renderer-webgl
Fix type check errors in ol/renderer/webgl
2018-10-03 03:48:07 -06:00
Andreas Hocevar 4ca75e2aab Merge pull request #8768 from schmidtk/ts-interaction-select
Fix type check errors in ol/interaction/Select
2018-10-03 11:10:50 +02:00
Andreas Hocevar 56f623337b Merge pull request #8764 from schmidtk/ts-interaction-draw
Fix TypeScript errors in ol/interaction/Draw
2018-10-03 11:07:59 +02:00
ahocevar 3f79edba67 Use setTimeout with any return type 2018-10-03 10:50:44 +02:00
Andreas Hocevar 2799f0c824 Merge pull request #8767 from schmidtk/ts-interaction-modify
Fix type check errors in ol/interaction/Modify
2018-10-03 10:33:50 +02:00
Andreas Hocevar cbd6aabea2 Merge pull request #8773 from schmidtk/ts-renderer-canvas
Fix type check errors in ol/renderer/canvas
2018-10-03 10:29:29 +02:00
Andreas Hocevar 5c737b21ae Merge pull request #8769 from schmidtk/ts-render-canvas
Fix type check errors in ol/render/canvas
2018-10-03 10:17:54 +02:00
Andreas Hocevar 0f9485a806 Merge pull request #8770 from schmidtk/ts-render-webgl
Fix type check errors in ol/render/webgl
2018-10-03 10:15:57 +02:00
Andreas Hocevar bb544114ee Merge pull request #8765 from ahocevar/fixed-tileurlfunction-bye-bye
Simplify logic for fixed tile url functions
2018-10-03 10:10:18 +02:00
Frédéric Junod c7813bbf45 Merge pull request #8766 from fredj/featurelike
Use FeatureLike typedef
2018-10-03 08:47:06 +02:00
Kevin Schmidt e30293d07f Fix type check errors in ol/renderer/webgl 2018-10-02 15:36:02 -06:00
Kevin Schmidt b26d81fd7e Fix type check errors in canvas tile renderers 2018-10-02 15:24:51 -06:00
Kevin Schmidt d3e34f95c9 Fix type check errors in ol/renderer/canvas/VectorLayer 2018-10-02 15:24:51 -06:00
Kevin Schmidt 16faf064de Fix type check errors in ol/renderer/canvas/Map 2018-10-02 15:24:51 -06:00
Kevin Schmidt be4afde507 Fix type check errors in ol/renderer/canvas/ImageLayer 2018-10-02 15:24:51 -06:00
Andreas Hocevar 2b8cee3e44 Merge pull request #8739 from schmidtk/ts-format-wmsgfi
Fix TypeScript errors in ol/format/WMSGetFeatureInfo
2018-10-02 21:27:54 +02:00
Andreas Hocevar 682fe47914 Merge pull request #8666 from schmidtk/ts-condition-fixes
Fix condition TypeScript errors
2018-10-02 21:10:10 +02:00
Kevin Schmidt b1309578b4 Fix type check errors in ol/render/webgl/TextReplay 2018-10-02 12:59:41 -06:00
Kevin Schmidt ecaec7bbfa Fix type check errors in ol/render/webgl/ReplayGroup 2018-10-02 12:55:59 -06:00
Kevin Schmidt b4fced865d Fix type check errors in ol/render/webgl/Immediate 2018-10-02 12:54:27 -06:00
Kevin Schmidt 9b12b30100 Fix type check errors in ol/render/canvas/TextReplay 2018-10-02 12:39:45 -06:00
Kevin Schmidt 9ac00667b4 Fix type check errors in ol/render/canvas/Replay 2018-10-02 12:38:31 -06:00
Kevin Schmidt 452d5454cb Fix type check errors in ol/render/canvas/Immediate 2018-10-02 12:32:37 -06:00
ahocevar 4aff3d0631 Simplify logic for fixed tile url functions 2018-10-02 17:26:22 +02:00
Kevin Schmidt 2f151a7832 Fix type check errors in ol/interaction/Select 2018-10-02 08:57:25 -06:00
Kevin Schmidt 25cf54193a Fix type check errors in ol/interaction/Modify 2018-10-02 08:31:03 -06:00
Frederic Junod ae87cad7ef Use FeatureLike typedef
Use `import("./Feature.js").FeatureLike` typedef instead of `import("./Feature.js").default|import("./render/Feature.js").default`
2018-10-02 12:58:56 +02:00
Kevin Schmidt b6846d6b3d Use window.setTimeout to avoid TS conflict with Node's setTimeout 2018-10-01 15:41:03 -06:00
Kevin Schmidt d62dd67942 Fix TypeScript errors in ol/interaction/Draw 2018-10-01 15:38:31 -06:00
William Wall 2517b838b6 Fix type check for ol/events
Cast to ol/events/Target since the function declarations only match
between EventTarget and Target for the first two parameters.
2018-10-01 14:02:12 -06:00
William Wall 9fc8475586 Fix type check in ol/PluggableMap.js
- Added JSDoc to getRenderer()
- Cast default options to types
- Cast event to MouseEvent to satisfy tsc. Non mouse/touch events
  will simply produce [NaN, NaN]
- Cast to Layer before calling getSource(), as it does not exist
  on Base
2018-10-01 12:49:47 -06:00
Andreas Hocevar 023ad3c531 Merge pull request #8757 from schmidtk/ts-typeof-ctor
Use typeof to simplify JSDoc class types
2018-10-01 18:33:35 +02:00
Kevin Schmidt 26f1cba808 Remove JSDoc to work around issue solved by typeof 2018-10-01 10:24:55 -06:00
Frédéric Junod 76dda0c422 Merge pull request #8759 from fredj/es6_examples
Use es6 class inheritance in examples
2018-10-01 17:12:20 +02:00
Andreas Hocevar 31ac0eb406 Merge pull request #8761 from schmidtk/ts-feature-types
Allow returning RenderFeature in ol/format/Feature
2018-10-01 17:04:36 +02:00
Kevin Schmidt c5a9d5b0bc Move FeatureClass and FeatureLike to ol/Feature 2018-10-01 08:59:55 -06:00
Kevin Schmidt 7dbe38358a Replace TileClass with typeof ImageTile 2018-10-01 08:37:01 -06:00
Kevin Schmidt accdc79c05 Use typeof to simplify JSDoc class types 2018-10-01 08:30:06 -06:00
Kevin Schmidt 7056eb8536 Allow returning RenderFeature in ol/format/Feature
Resolves #8760
2018-10-01 08:24:30 -06:00
Andreas Hocevar 88cde255f8 Merge pull request #8758 from schmidtk/ts-kml-color-node
Fix TS error and prevent extra string conversion
2018-10-01 15:45:32 +02:00
Frederic Junod 47b68ed96d Use es6 class inheritance in examples
Instead of using the deprecated `inherits` function.
2018-10-01 15:44:18 +02:00
Kevin Schmidt d6b99a5a25 Fix TS error and prevent extra string conversion 2018-10-01 07:29:16 -06:00
Frédéric Junod a2c7eb80fd Merge pull request #8736 from fredj/misc
Typescript misc fixes
2018-10-01 08:29:02 +02:00
Tim Schaub 6f1f85b729 Merge pull request #8741 from schmidtk/ts-geom
Fix TypeScript errors in ol/geom/*
2018-09-30 20:50:28 -07:00
Tim Schaub 2034e3f63b Merge pull request #8707 from schmidtk/ts-format-feature
Fix TypeScript errors in ol/format/Feature
2018-09-30 20:41:55 -07:00
Marc Jansen 8b26e53067 Merge pull request #8754 from wallw-bits/fix-typecheck-math
Fix type check in ol/math
2018-09-30 09:28:08 +02:00
Frédéric Junod 40ee806c27 Merge pull request #8747 from fredj/faq_modules
Update doc/faq.md
2018-09-30 07:38:15 +02:00
William Wall 831505c425 Fix type check in ol/math
tsc considers everything in the else block to be of type 'never',
since it thinks that cosh is permanently defined for Math. Casting
back to Math in the else block fixes the error.
2018-09-29 16:40:15 -06:00
Andreas Hocevar b49f2448c7 Merge pull request #8744 from wallw-bits/fix-typecheck-vectortilesource
Fix type checks in VectorTileSource
2018-09-29 20:44:56 +02:00
Frederic Junod 513e11d263 Update doc/faq.md
Change code snippet to use es6 modules.
2018-09-29 08:58:02 +02:00
Frédéric Junod 01923ddbb2 Merge pull request #8740 from benVigie/updateFirefoxTextTestTolerance
Increase linestring textalign test tolerance to be Firefox compliant.
2018-09-29 08:34:48 +02:00
Frédéric Junod 313b00b8f3 Merge pull request #8738 from schmidtk/ts-format-xmlfeature
Cast to parent type to fix TS errors
2018-09-29 08:23:29 +02:00
Frédéric Junod 5abcaebabc Merge pull request #8737 from schmidtk/ts-format-topojson
Flag optional param to fix TS error
2018-09-29 08:18:09 +02:00
William Wall a685e85c10 Fix type checks in VectorTileSource
Use typeof(Class) instead of defining a typedef for the tile class
2018-09-28 12:33:33 -06:00
Andreas Hocevar 9cbe9926b4 Merge pull request #8742 from wallw-bits/fix-typecheck-vectorsource-2
Fix type checks in Vector source
2018-09-28 18:20:46 +02:00
Andreas Hocevar efea43d008 Merge pull request #8743 from wallw-bits/fix-typecheck-rastersource
Fix type check in Raster source
2018-09-28 18:20:07 +02:00
William Wall 0bbbd33bb1 Fix type check in Raster source 2018-09-28 09:38:33 -06:00
William Wall 4da372d515 Fix type checks in Vector source
The getResolutions override is unnecessary because the parent
implementation also returns undefined.
2018-09-28 09:24:55 -06:00
Kevin Schmidt 7d5a81d40f Fix TypeScript errors in ol/geom/* 2018-09-28 09:00:28 -06:00
Benjamin Vigie f8b0eb9648 Increase linestring textalign test tolerance to be Firefox compliant. 2018-09-28 10:42:17 -04:00
Kevin Schmidt df7c89baeb Fix TypeScript errors in ol/format/WMSGetFeatureInfo 2018-09-28 08:15:59 -06:00
Kevin Schmidt 497aef7309 Cast to parent type to fix TS errors 2018-09-28 07:58:43 -06:00
Kevin Schmidt 73a48eb3d4 Flag optional param to fix TS error 2018-09-28 07:56:07 -06:00
Andreas Hocevar 63f583e148 Merge pull request #8733 from schmidtk/ts-format-wfs
Fix TypeScript errors in ol/format/WFS
2018-09-28 13:19:14 +02:00
Andreas Hocevar 54fa2bdc94 Merge pull request #8735 from schmidtk/ts-format-wkt
Fix TypeScript errors in ol/format/WKT
2018-09-28 12:45:09 +02:00
Frederic Junod 8c69380ef6 Fix wrong property name in Stroke constructor 2018-09-28 09:13:43 +02:00
Frederic Junod fa7a92b565 Add msTransform property in types/dom.d.ts 2018-09-28 09:13:43 +02:00
Frederic Junod 3d9b1af105 Remove 'extent' properties from ol/source/Tile children classes 2018-09-28 09:13:43 +02:00
Frederic Junod f58cd03f3b Remove extra parameters 2018-09-28 09:13:43 +02:00
Andreas Hocevar 2e41302fc3 Merge pull request #8730 from schmidtk/ts-format-kml
Fix TypeScript errors in ol/format/KML
2018-09-28 08:31:32 +02:00
Frederic Junod 6ce56329dd Fix wrong type 2018-09-28 08:21:12 +02:00
Frédéric Junod 368fb2c6e8 Merge pull request #8732 from wallw-bits/fix-typecheck-tilesource
Fix type check in ol/source/Tile
2018-09-28 08:19:58 +02:00
Kevin Schmidt 280741f8d1 Fix TypeScript errors in ol/format/WKT 2018-09-27 14:46:15 -06:00
Kevin Schmidt d4d45001f6 Fix TypeScript errors in ol/format/WFS 2018-09-27 14:03:06 -06:00
Kevin Schmidt f8d3c8e140 Fix TypeScript errors in ol/format/KML 2018-09-27 13:33:41 -06:00
William Wall 1ee0c50c8a Fix type check in ol/source/Tile
Remove 'extent' because the parent Source class does not contain
'extent' on its options or use options.extent in the constructor.
Also removed 'extent' from 'Options' for 'TileSource'.
2018-09-27 10:47:51 -06:00
Frédéric Junod 2752541ff1 Merge pull request #8731 from fredj/GeolocationError
Dispatch a GeolocationError in Geolocation
2018-09-27 16:56:42 +02:00
Frederic Junod 39951a792d Dispatch a GeolocationError in Geolocation
See https://github.com/openlayers/openlayers/pull/8657#discussion_r219051918
2018-09-27 16:51:17 +02:00
Frédéric Junod 2d68f1506c Merge pull request #8729 from fredj/misc
Move functions out of the PointerEvent class
2018-09-27 16:05:54 +02:00
Frederic Junod 05c0b77a52 Move functions out of the PointerEvent class 2018-09-27 13:49:18 +02:00
Frédéric Junod 5bfd82a9bf Merge pull request #8724 from fredj/ts_fixes
Typescript misc fixes
2018-09-27 10:47:57 +02:00
Frederic Junod 4fbd7f2acd Add missing backtick 2018-09-27 10:18:47 +02:00
Frederic Junod 60c5d016a6 Remove unused 'opaque' property from ol/source/Stamen options
And set the `layer` property as mandatory.
2018-09-27 10:00:02 +02:00
Frederic Junod 7eee6ba07a Remove '=' from type when the parameter is not optional 2018-09-27 10:00:02 +02:00
Frederic Junod d8ee6acefa Remove extra imports in jsdoc 2018-09-27 10:00:02 +02:00
Frédéric Junod a4212abbb2 Merge pull request #8717 from fredj/ts_TileArcGISRest
Fix type checks in TileArcGISRest
2018-09-27 08:28:56 +02:00
Tim Schaub 2f51785968 Merge pull request #8718 from schmidtk/ts-format-gpx
Fix TypeScript errors in ol/format/GPX
2018-09-26 21:24:49 -07:00
Tim Schaub ca9ac8e950 Merge pull request #8719 from openlayers/greenkeeper/marked-0.5.1
Update marked to the latest version 🚀
2018-09-26 21:23:15 -07:00
greenkeeper[bot] 80399f09df chore(package): update marked to version 0.5.1 2018-09-26 14:42:11 +00:00
Frédéric Junod 047f7ecf04 Merge pull request #8706 from schmidtk/ts-types-esrijson
Use EsriJSON types from @types/arcgis-rest-api
2018-09-26 15:56:27 +02:00
Frédéric Junod 277ecca881 Merge pull request #8709 from schmidtk/ts-format-geojson
Fix TypeScript errors in ol/format/GeoJSON
2018-09-26 15:54:20 +02:00
Frederic Junod 9cf7c71df8 Fix type checks in TileArcGISRest 2018-09-26 15:51:55 +02:00
Frédéric Junod 55b300082a Merge pull request #8708 from wallw-bits/fix-typecheck-imagecanvas
Fix type checks in ImageCanvas source
2018-09-26 15:50:42 +02:00
Kevin Schmidt 922e3824fb Fix TypeScript errors in ol/format/GPX 2018-09-26 07:38:12 -06:00
Andreas Hocevar 3b747f4d2d Merge pull request #8710 from wallw-bits/fix-typecheck-imagearcgis
Fix type checks in ImageArcGISRest
2018-09-26 11:10:27 +02:00
Andreas Hocevar ce3988cfbb Merge pull request #8714 from openlayers/greenkeeper/webpack-4.20.2
chore(package): update webpack to version 4.20.2
2018-09-26 07:40:07 +02:00
greenkeeper[bot] 8f6f4de433 chore(package): update webpack to version 4.20.2
Closes #8705
2018-09-26 05:02:09 +00:00
William Wall d37e04e8f3 Fix type checks in ImageArcGISRest
Added proper @link tags to links in descriptions. Fixed unclosed
backtick. Made params optional like the description says.
2018-09-25 14:00:23 -06:00
Kevin Schmidt a6223abdce Fix TypeScript errors in ol/format/GeoJSON 2018-09-25 13:14:20 -06:00
Kevin Schmidt e9baa2cfc4 Fix TypeScript errors in ol/format/Feature 2018-09-25 13:03:43 -06:00
William Wall 3ba789eae6 Fix type checks in ImageCanvas source
Fixed constructor docs specifying optional options without a
default value. Fixed malformed @link tag in typedef description.
canvasFunction type was previously declared with the 'this' type
as ImageCanvas, but the 'this' ref was not passed on the scope when
calling the function.
2018-09-25 13:01:02 -06:00
Kevin Schmidt 02d5d21d0d Use EsriJSON types from @types/arcgis-rest-api
Resolves #8597
2018-09-25 12:31:22 -06:00
Andreas Hocevar be12573883 Merge pull request #8703 from openlayers/greenkeeper/webpack-4.20.0
Update webpack to the latest version 🚀
2018-09-25 15:04:16 +02:00
greenkeeper[bot] 8cfb4e9384 chore(package): update webpack to version 4.20.0 2018-09-25 09:48:31 +00:00
Andreas Hocevar d9698dcb06 Merge pull request #8698 from intouch-smartwater/fix-zoom-slider-events
Fix zoom slider events
2018-09-24 13:15:43 +02:00
Frédéric Junod 708557afef Merge pull request #8697 from fredj/fix-typecheck-cluster
Remove unused properties from Cluster and Image options
2018-09-24 13:14:06 +02:00
James Cheese 9c5227850f Remove events causing errors on touch-screen devices.
Fix for case #5226
2018-09-24 09:55:13 +01:00
James Cheese 49ee4bbd1c Adding tests for ZoomSlider drags ending out of bounds.
As per the existing tests for the slider, ensure that listeners are unbound
correctly and values are as expected.
2018-09-24 09:55:13 +01:00
James Cheese 75947a6759 Revert changes from 7b687be
Adapted the changes to new class structures introduced since the original
deletion before committing, to ensure that everything compiles correctly.
2018-09-24 09:55:13 +01:00
Frederic Junod 7d1b90c7d2 Remove unused extent property from ol/source/Image options 2018-09-24 10:14:33 +02:00
Frederic Junod 557e2c9029 Remove extra imports in jsdoc
The symbols are already imported (es6 import)
2018-09-24 10:11:03 +02:00
Frederic Junod 3b208864bc Remove unused properties from Cluster options
Follow up on #8692
2018-09-24 10:06:25 +02:00
Frédéric Junod 32dea69f5e Merge pull request #8688 from fredj/ts_fixes
Fix PointerEventHandler event type
2018-09-24 10:02:49 +02:00
Frédéric Junod 7d36b893d3 Merge pull request #8686 from fredj/import
Remove extra imports in jsdoc
2018-09-24 10:02:27 +02:00
Tim Schaub 5ee1fd50fa Merge pull request #8681 from wallw-bits/fix-typecheck-webgl-tilelayer
Check the type of the source before using it
2018-09-22 06:23:31 -06:00
Tim Schaub 681941b537 Merge pull request #8691 from romanzoller/fix-error-url
Fix assertion error documentation URL
2018-09-22 06:19:57 -06:00
Tim Schaub 7c5ff5422d Merge pull request #8692 from wallw-bits/fix-typecheck-cluster
Type check fixes for Cluster source
2018-09-21 23:11:58 -06:00
Tim Schaub c9068526e7 Merge pull request #8677 from wallw-bits/fix-typecheck-vectorsource
Type check fixes for VectorSource
2018-09-21 16:58:24 -06:00
Tim Schaub 9fd4807920 Merge pull request #8684 from wallw-bits/fix-typecheck-bingmaps
Define BingMapsImageryMetadataResponse type
2018-09-21 16:57:13 -06:00
Tim Schaub 16bd9a5450 Merge pull request #8690 from wallw-bits/fix-typecheck-cartodb
Fix type checks in CartoDB
2018-09-21 16:53:54 -06:00
Tim Schaub ada7e404b1 Merge pull request #8693 from wallw-bits/fix-typecheck-image-source
Fix type check errors for Image source
2018-09-21 16:51:35 -06:00
William Wall 1c10bbf94c Fix arithmetic error on potential array
And also add zoomMax to response type
2018-09-21 11:57:25 -06:00
William Wall 1da2db83da Fix type check errors for Image source
The parent class does not accept an extent on its options. Also
check that the image is an img or video tag before setting the
source as Canvas does not have the src property.
2018-09-21 08:35:41 -06:00
William Wall 10c8371b38 Type check fixes for Cluster source
Removed options unused by super class.
2018-09-21 08:21:20 -06:00
Roman Zoller 5c5fc3f892 Fix assertion error documentation URL
Prefix version number with 'v' to obtain correct URL.

This fixes #8556.
2018-09-21 16:03:39 +02:00
William Wall 82cfa54584 Fix type checks in CartoDB
Removed state from super call options because super doesn't use it.
Defined CartoDBLayerInfo response type.
2018-09-21 08:00:45 -06:00
Frederic Junod 69c6db0bc7 Allow TouchEvent to be passed to getEventPixel 2018-09-21 09:23:03 +02:00
Frederic Junod 9b447ef3ed Fix PointerEventHandler event type 2018-09-21 09:19:05 +02:00
Frederic Junod 821a08ea79 Remove extra imports in jsdoc
The symbols are already imported (es6 import)
2018-09-21 09:12:06 +02:00
Frédéric Junod a31453b55f Merge pull request #8646 from openlayers/greenkeeper/mustache-3.0.0
Update mustache to the latest version 🚀
2018-09-21 08:39:07 +02:00
Frédéric Junod 5b43b9f151 Merge pull request #8645 from openlayers/greenkeeper/rollup-plugin-uglify-6.0.0
Update rollup-plugin-uglify to the latest version 🚀
2018-09-21 08:38:45 +02:00
Frédéric Junod bf6ecd7667 Merge pull request #8685 from openlayers/greenkeeper/rollup-0.66.2
Update rollup to the latest version 🚀
2018-09-21 08:28:50 +02:00
Frédéric Junod 725687c987 Merge pull request #8672 from fredj/raster_source_types
Fix source type in Raster source
2018-09-21 08:22:59 +02:00
greenkeeper[bot] fca3bed6dc chore(package): update rollup to version 0.66.2 2018-09-21 05:26:48 +00:00
William Wall fd0d6ff6f6 Define BingMapsImageryMetadataResponse type 2018-09-20 16:25:48 -06:00
Tim Schaub aa39a8a508 Merge pull request #8665 from wallw-bits/fix-typecheck-rbush
Fix type check errors in RBush
2018-09-20 11:09:07 -06:00
Tim Schaub c472910aae Merge pull request #8680 from schmidtk/ts-events-fixes
TypeScript fixes for ol/events
2018-09-20 11:03:13 -06:00
William Wall 7ff974be2c Remove superfluous bitwise operations 2018-09-20 10:27:13 -06:00
Tim Schaub c414bd5923 Merge pull request #8678 from wallw-bits/fix-typecheck-source-tileimage
Ensure image is Image or Video before settings src
2018-09-20 09:40:29 -06:00
Tim Schaub 57bd015972 Merge pull request #8676 from wallw-bits/fix-typecheck-wmts
Cast tileGrid to WMTSTileGrid for type check
2018-09-20 04:24:08 -06:00
Tim Schaub abeb6490e0 Merge pull request #8679 from wallw-bits/fix-typecheck-triangulation
Type check fixes in Triangulation
2018-09-20 04:20:29 -06:00
Tim Schaub 85407a45f2 Merge pull request #8683 from openlayers/greenkeeper/rollup-0.66.1
Update rollup to the latest version 🚀
2018-09-19 22:05:46 -06:00
greenkeeper[bot] 399e2587bb chore(package): update rollup to version 0.66.1 2018-09-19 22:38:34 +00:00
Tim Schaub edfbb35c03 Merge pull request #8657 from fgravin/fgravin_help_typescript
Typescript fixes
2018-09-19 16:02:07 -06:00
William Wall 016436ae18 Check that tile is ImageTile before using it 2018-09-19 15:04:14 -06:00
Kevin Schmidt 34323c0618 Fix TypeScript error in Target 2018-09-19 14:42:45 -06:00
Kevin Schmidt 0ac94c93ff Fix TypeScript errors managing ol_lm on event targets 2018-09-19 14:42:45 -06:00
William Wall 7525c57688 Check the type of the source before using it
This satisfies tsc in addition to making the class more defensive
against source types that it does not support.
2018-09-19 14:39:10 -06:00
William Wall a4aaab5e32 Change bitwise or assignment to boolean assignment
Because `tsc` does not like using bitwise operations on booleans.
2018-09-19 13:00:55 -06:00
Tim Schaub e873949b31 Merge pull request #8671 from fgravin/fgravin_typescript_fixes_2
Fix typescript in FeatureLoader
2018-09-19 12:16:37 -06:00
William Wall adfc174af3 Ensure image is Image or Video before settings src
Canvas elements do not contain the 'src' property.
2018-09-19 12:12:50 -06:00
Tim Schaub d44ba929ab Merge pull request #8675 from wallw-bits/fix-typecheck-zoomify
Get width as number from number|Size
2018-09-19 11:55:35 -06:00
William Wall 20125ae96c Type check fixes for VectorSource
Added parameter types to event listeners. Fixed return type for
feature collection branch. Removed duplicate template definition.
2018-09-19 11:04:35 -06:00
William Wall 0994362bfe Cast tileGrid to WMTSTileGrid for type check 2018-09-19 10:31:28 -06:00
William Wall 45f2324a4e Get width as number from number|Size
This satisfies tsc in addition to being a bit more defensive from
custom tile grids, even if using them is very uncommon for this
source.
2018-09-19 10:02:33 -06:00
Florent gravin 9c6e14b050 Remove duplicate containsXY fn 2018-09-19 16:51:43 +02:00
Florent gravin 8b83371272 Feature opt_geometryOrProperties cannot be null 2018-09-19 16:48:51 +02:00
Florent gravin 25ade66017 Fix type conflict between Event and events/Event.js 2018-09-19 16:48:51 +02:00
Florent gravin f3fb88905e Use window.setTimeout for correct type checking 2018-09-19 16:48:51 +02:00
Florent gravin e740e7577a Secure type of HTMLImageElement in ImageTile 2018-09-19 16:48:51 +02:00
Florent gravin d062904cc1 Correct ol event type propagation in Geolocation positionError 2018-09-19 16:48:51 +02:00
Florent gravin cd169ede0d Correct cast of Projection in Geometry.transform 2018-09-19 16:48:51 +02:00
Florent gravin bd655b325d Implement Geometry containsXY with correct signature 2018-09-19 16:48:51 +02:00
Florent gravin 7f32ba4216 Use Style instead of import(./style/Style.js).default 2018-09-19 16:47:51 +02:00
Florent gravin 109f16f717 Use Geometry instead of import(./geom/Geometry.js).default 2018-09-19 16:47:51 +02:00
Florent gravin b3127f86be Fix cast for Geometry type 2018-09-19 16:47:51 +02:00
Florent gravin e25d053ba6 Featureloader this reference can also be ol.VectorTile 2018-09-19 16:43:10 +02:00
Frederic Junod 3029a07c1a Fix source type in Raster source
The `sources` is an array of layer or source
2018-09-19 15:34:34 +02:00
Frédéric Junod 978b039ddc Merge pull request #8654 from fredj/import
Remove extra imports in jsdoc
2018-09-19 15:12:10 +02:00
Frédéric Junod 65066a0505 Merge pull request #8655 from fredj/webkit_touch
Remove webkit specific properties from Touch
2018-09-19 15:05:20 +02:00
Frédéric Junod 43bc3020a1 Merge pull request #8663 from schmidtk/ts-vendor-fullscreen
Add vendor-specific TS declarations for the Fullscreen API.
2018-09-19 15:05:05 +02:00
Frédéric Junod 5f63575106 Merge pull request #8658 from fredj/proto_void
Don't define functions in the prototype
2018-09-19 14:53:59 +02:00
Frederic Junod 9c52e0d6d9 Remove extra imports in jsdoc
The symbols are already imported (es6 import)
2018-09-19 14:52:58 +02:00
Tim Schaub 77dbf2fdb0 Merge pull request #8662 from wallw-bits/fix-typecheck-ol-tile
Explicitly define type of 'this'
2018-09-19 06:50:59 -06:00
Tim Schaub ad399246a3 Merge pull request #8664 from schmidtk/ts-listener-fn
Add native Event to ListenerFunction signature.
2018-09-19 06:47:18 -06:00
Frédéric Junod 23be1ac56d Merge pull request #8668 from fredj/module_doc
Add missing 'module' annotation
2018-09-19 14:07:09 +02:00
Frederic Junod 600d156d01 Add missing 'module' annotation 2018-09-19 11:51:34 +02:00
Frédéric Junod 40227db7be Merge pull request #8656 from openlayers/greenkeeper/rollup-plugin-commonjs-9.1.8
chore(package): update rollup-plugin-commonjs to version 9.1.8
2018-09-19 11:29:51 +02:00
Frederic Junod 54cdaddf3a Don't use Chrome only ALLOW_KEYBOARD_INPUT param 2018-09-19 11:12:27 +02:00
Frédéric Junod 5a62d403c0 Merge pull request #8667 from openlayers/greenkeeper/uglifyjs-webpack-plugin-2.0.1
chore(package): update uglifyjs-webpack-plugin to version 2.0.1
2018-09-19 09:26:28 +02:00
Frédéric Junod eade74384a Merge pull request #8661 from openlayers/greenkeeper/webpack-4.19.1
Update webpack to the latest version 🚀
2018-09-19 09:24:58 +02:00
Frederic Junod 31c392b63c Remove containsXY function from ol/geom/SimpleGeometry
The function is already present in the base class (ol/geom/Geometry)
2018-09-19 08:40:14 +02:00
Frederic Junod 7cb85fa975 Don't define functions in the prototype
If `VOID` is used, TypeScript is not able to figure out what the function parameters are.

Before:
```
$ npx tsc | wc -l
    1188
```

After:
```
$ npx tsc | wc -l
    1169
```
2018-09-19 08:40:14 +02:00
Kevin Schmidt f8396d8f35 Fix condition TypeScript errors 2018-09-18 15:29:13 -06:00
Kevin Schmidt 4d26ab751d Add vendor-specific TS declarations for the Fullscreen API.
Fixes #8660.
2018-09-18 13:22:55 -06:00
Kevin Schmidt f819ed137b Add native Event to ListenerFunction signature. 2018-09-18 13:10:36 -06:00
greenkeeper[bot] 91d31b57ec chore(package): update uglifyjs-webpack-plugin to version 2.0.1
Closes #8639
2018-09-18 17:00:44 +00:00
William Wall 1fbefcab64 Explicitly define type of 'this'
I'm not entirely sure that I like this pattern, but there does not
appear to be a better option since TypeScript would recommend:

  function(this: SomeClass, ...)

tsdoc does not appear to support an associated annotation for the
function a la @this {SomeClass}.
2018-09-18 10:38:23 -06:00
greenkeeper[bot] b2bcbcbc04 chore(package): update webpack to version 4.19.1 2018-09-18 14:27:10 +00:00
Frederic Junod 960b433a2c Remove webkit specific properties from Touch
Remove the following errors from the TypeScript checks:
```
src/ol/pointer/TouchSource.js(231,23): error TS2339: Property 'webkitRadiusX' does not exist on type 'Touch'.
src/ol/pointer/TouchSource.js(232,24): error TS2339: Property 'webkitRadiusY' does not exist on type 'Touch'.
src/ol/pointer/TouchSource.js(233,26): error TS2339: Property 'webkitForce' does not exist on type 'Touch'.
```

The only reference that I've found for these properties is a warning message from Google Chrome:
```
'Touch.webkitRadiusX' is deprecated and will be removed in M47, around November 2015. Please use 'Touch.radiusX' instead.
```
2018-09-18 13:36:38 +02:00
greenkeeper[bot] d777a6319b chore(package): update rollup-plugin-commonjs to version 9.1.8
Closes #8653
2018-09-18 10:54:15 +00:00
Frédéric Junod 5910e4d207 Merge pull request #8644 from openlayers/greenkeeper/rollup-0.66.0
Update rollup to the latest version 🚀
2018-09-18 09:12:34 +02:00
Tim Schaub 340a446b51 Merge pull request #8643 from schmidtk/style-typescript-cleanup
Fix style TypeScript errors
2018-09-17 14:35:50 -06:00
Kevin Schmidt 124fccf127 Fix style TypeScript errors 2018-09-17 12:38:00 -06:00
greenkeeper[bot] 74417a05d0 chore(package): update mustache to version 3.0.0 2018-09-16 20:43:30 +00:00
greenkeeper[bot] 3ffd7683d5 chore(package): update rollup-plugin-uglify to version 6.0.0 2018-09-16 14:12:44 +00:00
greenkeeper[bot] 457cbc9d9b chore(package): update rollup to version 0.66.0 2018-09-16 08:42:40 +00:00
Andreas Hocevar 7912c5d711 Merge pull request #8638 from ahocevar/fix-haslistener-check
Fix event type in hasListener check
2018-09-15 09:08:55 +02:00
Dmitry Fedorov 7d77d05a57 fix dangling comma 2018-09-14 13:58:13 -07:00
Dmitry Fedorov 028caa4664 fixes for optional key handling 2018-09-14 12:02:37 -07:00
ahocevar 90403421af Fix event type in hasListener check 2018-09-14 18:15:18 +02:00
Frédéric Junod fe0ac80ba4 Merge pull request #8618 from fredj/topojson_types
Use TopoJSON types from @types/topojson
2018-09-14 13:09:43 +02:00
Frederic Junod ba53b5e8aa Quotes topojson properties 2018-09-14 13:02:30 +02:00
Frederic Junod abc3279752 Use TopoJSON types from @types/topojson 2018-09-14 13:02:30 +02:00
Frédéric Junod 84c689d456 Merge pull request #8619 from fredj/typing
Remove wrong Geometry type in KML format
2018-09-14 12:46:31 +02:00
Andreas Hocevar 693d1b24c6 Merge pull request #8631 from openlayers/greenkeeper/webpack-4.19.0
Update webpack to the latest version 🚀
2018-09-14 10:32:01 +02:00
greenkeeper[bot] cdaca7b0ff chore(package): update webpack to version 4.19.0 2018-09-14 06:02:06 +00:00
Andreas Hocevar 3ccfc2ea61 Merge pull request #8630 from openlayers/greenkeeper/webpack-4.18.1
Update webpack to the latest version 🚀
2018-09-13 17:14:58 +02:00
greenkeeper[bot] b351eaef29 chore(package): update webpack to version 4.18.1 2018-09-13 12:51:18 +00:00
Andreas Hocevar 14eb3fde14 Merge pull request #8627 from ahocevar/fix-textstate-type
Fix several type imports
2018-09-13 14:50:31 +02:00
ahocevar f29e6ac397 Fix more incorrect type imports 2018-09-13 11:42:59 +02:00
ahocevar 79674363e6 Fix imports in TextState 2018-09-13 11:42:59 +02:00
Andreas Hocevar 0ce7402d61 Merge pull request #8629 from megawac/patch-1
Enable circle primitive in draw-shapes example
2018-09-13 07:25:09 +02:00
Graeme Yeates 00474dc038 Enable circle primitive in draw-shapes example
For some reason the circle polygon type was not available in the select despite the example code handling drawing circles.
2018-09-12 16:50:59 -04:00
Marc Jansen 8d054a404a Merge pull request #8626 from marcjansen/less-TS2345
Better type annotations / type casts
2018-09-12 05:45:51 +02:00
Marc Jansen 143bf731b6 Better type annotations / type casts 2018-09-11 21:59:54 +02:00
Tim Schaub d4bbbcb690 Merge pull request #8622 from tschaub/unused
Remove unused method
2018-09-11 12:36:49 -06:00
Tim Schaub f9f2f981f1 Remove unused method 2018-09-11 10:13:26 -06:00
Tim Schaub 8b45011cd5 Merge pull request #8615 from tschaub/geojson-types
Use GeoJSON types from @types/geojson
2018-09-11 09:57:31 -06:00
Tim Schaub 39c31e62a3 Remove unnecessary type casts 2018-09-11 09:02:33 -06:00
Tim Schaub 5b00231d7a Backwards compatibility with circle serialization 2018-09-11 08:55:31 -06:00
Frederic Junod 3c52757f3f Remove wrong Geometry type in KML format 2018-09-11 08:45:16 +02:00
Frédéric Junod e6e9801a74 Merge pull request #8617 from openlayers/greenkeeper/webpack-4.18.0
chore(package): update webpack to version 4.18.0
2018-09-11 07:50:18 +02:00
Frédéric Junod b5e2b9fe6f Merge pull request #8609 from fredj/import
Remove extra imports in jsdoc
2018-09-11 07:36:58 +02:00
greenkeeper[bot] 83e252bed9 chore(package): update webpack to version 4.18.0
Closes #8616
2018-09-10 22:25:19 +00:00
Andreas Hocevar b0b248d8e6 Merge pull request #8613 from ahocevar/lazy-taint-detection
Lazily detect tainted canvas
2018-09-10 21:50:27 +02:00
Tim Schaub 0364beb312 GeoJSON types 2018-09-10 10:20:08 -06:00
ahocevar fc5aafe9fe Lazily detect tainted canvas 2018-09-10 10:13:41 +02:00
Andreas Hocevar 968d8d6698 Merge pull request #8610 from ahocevar/mouseposition-touch
Sensible touch behavior of the MousePosition control
2018-09-08 12:35:11 +02:00
ahocevar 3c500e0b4b Sensible touch behavior of the MousePosition control 2018-09-08 11:10:56 +02:00
Frederic Junod 81bab31efb Remove extra imports in jsdoc
The symbols are already imported (es6 import)
2018-09-08 11:01:02 +02:00
Frédéric Junod 058f81c0fa Merge pull request #8602 from fredj/layer_map_opt_typedef
Add missing map property in ol/layer/Layer constructor options
2018-09-08 09:59:20 +02:00
Tim Schaub 6b851d812d Merge pull request #8607 from tschaub/listener-signature
Listener return is boolean or void
2018-09-07 09:54:48 -06:00
Tim Schaub ef4936de4a Listener return is boolean or void 2018-09-07 09:10:31 -06:00
Tim Schaub b6746d3432 Merge pull request #8595 from tschaub/optional
Optional arguments and typedef properties
2018-09-07 06:24:16 -06:00
Frederic Junod 3c05e09189 Add missing map property in ol/layer/Layer constructor options 2018-09-07 09:05:04 +02:00
Frédéric Junod 9b2dc88151 Merge pull request #8594 from fredj/import
Remove extra imports in jsdoc
2018-09-07 08:24:52 +02:00
Tim Schaub 5e7afbb393 Merge pull request #8596 from tschaub/externs-revisited
Add types for the UTFGrid and TileJSON JSON responses
2018-09-06 15:20:50 -06:00
Tim Schaub f6e6878909 Brackets for optional properties 2018-09-06 11:01:59 -06:00
Tim Schaub e49c691a22 Add types for the UTFGrid and TileJSON JSON responses 2018-09-06 10:11:35 -06:00
Tim Schaub bd0f3556b6 Mark transform options as optional 2018-09-06 09:32:45 -06:00
Tim Schaub 82675d0bee Mark optional geom constructor args as optional 2018-09-06 09:29:44 -06:00
Tim Schaub 895bfcea8e Optional properties for animation 2018-09-06 09:21:17 -06:00
Frederic Junod a6861f5f49 Remove extra imports in jsdoc
The symbols are already imported (es6 import)
2018-09-06 16:40:29 +02:00
Frédéric Junod e32b3b5957 Merge pull request #8591 from fredj/textstate_typedef
Add missing properties in TextState typedef
2018-09-06 15:30:41 +02:00
Frédéric Junod e3f13051f6 Merge pull request #8590 from fredj/import
Don't import ourselves
2018-09-06 15:30:22 +02:00
Frederic Junod c8747d87a4 Add missing properties in TextState typedef 2018-09-06 09:30:28 +02:00
Frédéric Junod 225e02244e Merge pull request #8589 from openlayers/greenkeeper/rollup-0.65.2
Update rollup to the latest version 🚀
2018-09-06 09:06:37 +02:00
Frederic Junod ea616e7751 Don't import ourselves 2018-09-06 09:05:32 +02:00
Frédéric Junod ba698258c0 Merge pull request #8586 from fredj/ts_fixes
Cast 'originalEvent' in interactions
2018-09-06 09:00:33 +02:00
Tim Schaub 1f50a2b3e6 Merge pull request #8588 from tschaub/tilegrid-options
Rework createXYZ
2018-09-05 13:42:25 -06:00
greenkeeper[bot] 9b64ea4969 chore(package): update rollup to version 0.65.2 2018-09-05 19:36:58 +00:00
Tim Schaub 52b30ead65 Rework createXYZ 2018-09-05 12:00:54 -06:00
Tim Schaub 203cb12501 Merge pull request #8587 from tschaub/let-nothing
Add a statement to trigger TypeScript checking
2018-09-05 10:51:51 -06:00
Tim Schaub 60e907fb48 Add a statement to trigger TypeScript checking
TypeScript is not checking JSDoc comments attached to the EOF token.
See https://github.com/Microsoft/TypeScript/issues/26905
2018-09-05 09:13:24 -06:00
Frederic Junod 71328530fe Remove unnecessary 'function' in jsdoc blocks 2018-09-05 16:40:45 +02:00
Frederic Junod a5f5c06af3 Cast 'originalEvent' in interactions 2018-09-05 16:38:42 +02:00
Tim Schaub f825a08bcf Merge pull request #8345 from tschaub/ts
TypeScript (1/n)
2018-09-05 08:31:12 -06:00
Tim Schaub ccfacc5ee6 Transformed types
Using the [ts.js codemod](https://gist.github.com/tschaub/1ea498c9d1e5268cf36d212b3949be4e):

    jscodeshift --transform ts.js src
2018-09-05 08:05:29 -06:00
Tim Schaub f2aaaa19e1 Custom ESLint rule @openlayers/valid-tsdoc 2018-09-05 08:04:34 -06:00
Tim Schaub 5ac94426e1 Add TypeScript config 2018-09-05 08:04:34 -06:00
Tim Schaub e3b21b9994 Merge pull request #8581 from openlayers/greenkeeper/rollup-plugin-node-resolve-3.4.0
Update rollup-plugin-node-resolve to the latest version 🚀
2018-09-05 03:52:15 -06:00
Frédéric Junod f34d024b22 Merge pull request #8585 from openlayers/greenkeeper/rollup-0.65.1
Update rollup to the latest version 🚀
2018-09-05 11:13:32 +02:00
greenkeeper[bot] f515b84322 chore(package): update rollup to version 0.65.1 2018-09-05 07:17:42 +00:00
Marc Jansen d6e8ecea5e Merge pull request #8579 from marcjansen/tsc-ts2367
Better type annotation
2018-09-04 18:41:56 +02:00
Marc Jansen c691e7ca7a Merge pull request #8580 from marcjansen/tsc-ts2367-one-less
Cast POINTER_ID before comparison
2018-09-04 18:41:04 +02:00
greenkeeper[bot] 37221edbf0 chore(package): update rollup-plugin-node-resolve to version 3.4.0 2018-09-04 10:57:57 +00:00
Andreas Hocevar ae14df9dca Merge pull request #8578 from openlayers/greenkeeper/webpack-4.17.2
Update webpack to the latest version 🚀
2018-09-04 10:16:18 +02:00
Marc Jansen 281873f22a Cast POINTER_ID before comparison 2018-09-04 09:37:15 +02:00
Frédéric Junod 8510169c69 Merge pull request #8574 from fredj/typescript_checks
Rename Extent to ExtentInteraction
2018-09-04 09:12:49 +02:00
Frédéric Junod e2c0d59332 Merge pull request #8577 from fredj/cleanup
Remove geojson.js extern inclusion in tasks/generate-info
2018-09-04 09:12:30 +02:00
Marc Jansen 99245b47f7 Better type annotation 2018-09-03 21:17:56 +02:00
greenkeeper[bot] eee7b0126b chore(package): update webpack to version 4.17.2 2018-09-03 18:28:55 +00:00
Frederic Junod 404c1bda0a Remove geojson.js extern inclusion in tasks/generate-info 2018-09-03 16:16:46 +02:00
Frederic Junod 8fdc4cc9fc Change property test in MousePosition options
TypeScript doesn't like the current implementation:
```
src/ol/control/MousePosition.js(82,64): error TS2339: Property 'undefinedHTML' does not exist on type 'never'.
```
2018-09-03 15:25:33 +02:00
Frederic Junod ad1dec58ec Rename Extent to ExtentInteraction 2018-09-03 15:15:58 +02:00
Frédéric Junod 42b8340ea1 Merge pull request #8573 from fredj/f8360
Fix freehand polygon drawing
2018-09-03 12:40:34 +02:00
Frederic Junod 595009726f Fix freehand polygon drawing
Fixes #8360
2018-09-03 11:56:31 +02:00
Frédéric Junod 4025ddc364 Merge pull request #8572 from fredj/ts_fixes
typescript misc fixes
2018-09-03 10:49:05 +02:00
Frederic Junod 5b8b470568 Fix imports in jsdoc blocks 2018-09-03 09:41:00 +02:00
Frederic Junod 3c02bd15fb Add missing 'extent' property in TileImage constructor 2018-09-03 09:41:00 +02:00
Frederic Junod 5fdac622ef Add missing 'extent' property in VectorTile constructor 2018-09-03 09:41:00 +02:00
Frederic Junod 25c1754052 Cast empty optional options in constructor
To remove the typescript errors:
```
Property 'xxx' does not exist on type '{}'
```
2018-09-03 09:40:59 +02:00
Andreas Hocevar a30f8859aa Merge pull request #8569 from ahocevar/simpler-faster-proj-get
Make proj~get simpler and faster
2018-08-31 16:33:08 +02:00
Frédéric Junod 5435379e70 Merge pull request #8567 from fredj/element_vs_node
Use 'Element' type instead of 'Node'
2018-08-31 16:32:18 +02:00
ahocevar 9eeacc585f Make proj~get simpler and faster 2018-08-31 12:19:23 +02:00
Frederic Junod 20a347b0c9 Use 'Element' type instead of 'Node' 2018-08-31 11:36:16 +02:00
Andreas Hocevar 6b851720d9 Merge pull request #8563 from openlayers/greenkeeper/rollup-plugin-uglify-5.0.2
Update rollup-plugin-uglify to the latest version 🚀
2018-08-31 10:56:58 +02:00
greenkeeper[bot] d12537b975 chore(package): update rollup-plugin-uglify to version 5.0.2 2018-08-30 22:12:09 +00:00
Andreas Hocevar ee3ebbff76 Merge pull request #8561 from openlayers/greenkeeper/rollup-plugin-uglify-5.0.0
Update rollup-plugin-uglify to the latest version 🚀
2018-08-30 22:22:32 +02:00
greenkeeper[bot] 411bc8ac61 chore(package): update rollup-plugin-uglify to version 5.0.0 2018-08-30 19:23:38 +00:00
Frédéric Junod bb4f887545 Merge pull request #8558 from fredj/zIndex_doc
Fix default zIndex value and documentation for layer options
2018-08-29 12:53:50 +02:00
Frederic Junod db04052b7a Fix default zIndex value and documentation for layer options 2018-08-29 11:33:09 +02:00
Andreas Hocevar 9daa556da1 Merge pull request #8555 from ahocevar/no-mangling-for-workers
Do not minify examples that inject code into workers
2018-08-29 10:45:26 +02:00
Andreas Hocevar c29fdaf714 Merge pull request #8557 from ahocevar/fix-release-notes
Fix typo in release notes
2018-08-29 10:42:00 +02:00
ahocevar 2d79baf54d Fix typo in release notes 2018-08-29 10:40:40 +02:00
ahocevar 8e9e0ae848 Do not minify examples that inject code into workers 2018-08-29 08:56:24 +02:00
Andreas Hocevar badc350746 Merge pull request #8554 from openlayers/release-v5.2.0
Release v5.2.0
2018-08-28 21:39:23 +02:00
Andreas Hocevar 50293200d7 Merge pull request #8504 from ahocevar/browserify-readme
Link to Browserify example project
2018-08-28 21:35:18 +02:00
ahocevar b2b3d6b05c Update package version to 5.2.0 2018-08-28 21:32:36 +02:00
ahocevar 34fefe3103 Changelog for v5.2.0 2018-08-28 21:32:36 +02:00
Pierre GIRAUD 27dadef8ef Merge pull request #8511 from openlayers/pgiraud-patch-1
Update IGN API key
2018-08-27 10:36:35 +02:00
Pierre GIRAUD f456c56ddd Merge pull request #8547 from pgiraud/serve-examples
Fix port number in developing doc
2018-08-27 09:32:44 +02:00
Pierre GIRAUD bdb80d3368 Fix port number in developing doc 2018-08-27 09:14:23 +02:00
Pierre GIRAUD b039e17015 Update IGN API key
Fixes #8509
2018-08-27 09:11:26 +02:00
Andreas Hocevar bd9635f6ef Merge pull request #8546 from ahocevar/proj-faq
Update projection FAQ for v5
2018-08-27 08:14:28 +02:00
ahocevar a0e72c7d42 Update projection FAQ for v5 2018-08-26 21:41:16 +02:00
Andreas Hocevar bb77fbe703 Merge pull request #8543 from openlayers/greenkeeper/rollup-0.65.0
Update rollup to the latest version 🚀
2018-08-26 07:21:28 +02:00
greenkeeper[bot] 0c47890bdd chore(package): update rollup to version 0.65.0 2018-08-25 14:41:44 +00:00
Andreas Hocevar 2d974c6f1f Merge pull request #8541 from openlayers/greenkeeper/proj4-2.5.0
Update proj4 to the latest version 🚀
2018-08-25 00:37:38 +02:00
Andreas Hocevar d95b2bc2ae Merge pull request #8542 from openlayers/greenkeeper/rollup-plugin-commonjs-9.1.6
Update rollup-plugin-commonjs to the latest version 🚀
2018-08-25 00:36:35 +02:00
greenkeeper[bot] 0ada02f12a chore(package): update rollup-plugin-commonjs to version 9.1.6 2018-08-24 22:10:50 +00:00
greenkeeper[bot] 786bb608b9 chore(package): update proj4 to version 2.5.0 2018-08-24 21:25:55 +00:00
Frédéric Junod 2342ec90aa Merge pull request #8481 from gberaudo/expose_some_internal_functions
Expose some internal functions
2018-08-23 10:42:19 +02:00
Andreas Hocevar 7a05b671d8 Merge pull request #8533 from openlayers/greenkeeper/webpack-4.17.1
Update webpack to the latest version 🚀
2018-08-22 13:32:22 +02:00
Andreas Hocevar ea9517ffd5 Merge pull request #8510 from gberaudo/fix_WMTS_dimensions_handling
Fix WMTS URLs with dimensions
2018-08-22 13:31:53 +02:00
Frédéric Junod d84c64b3e7 Merge pull request #8524 from NeoRaider/xhtml-fixes
Fix compatiblity with XHTML content type
2018-08-22 13:13:22 +02:00
greenkeeper[bot] 017d2e4802 chore(package): update webpack to version 4.17.1 2018-08-22 10:49:35 +00:00
Andreas Hocevar 3b36477fc3 Merge pull request #8532 from ahocevar/rendercomplete
Add 'rendercomplete' event
2018-08-22 11:01:00 +02:00
ahocevar 1baa8be269 Add 'rendercomplete' event 2018-08-22 09:53:24 +02:00
Andreas Hocevar 158b54156a Merge pull request #8530 from openlayers/greenkeeper/webpack-4.17.0
Update webpack to the latest version 🚀
2018-08-21 19:34:45 +02:00
greenkeeper[bot] 5752bd0028 chore(package): update webpack to version 4.17.0 2018-08-21 09:50:38 +00:00
Andreas Hocevar 3f98094d9d Merge pull request #8529 from TDesjardins/patch-1
Update link to base class in docs
2018-08-20 17:56:50 +02:00
Tino Desjardins b56a7c0fa3 Update link to base class in docs 2018-08-20 17:03:59 +02:00
Tim Schaub b7aa6c6513 Merge pull request #8528 from TDesjardins/patch-1
Update link to base class in docs
2018-08-20 05:36:47 -06:00
Tino Desjardins 1605741a92 Update link to base class in docs 2018-08-20 10:23:22 +02:00
Tim Schaub a18da7d55a Merge pull request #8525 from tschaub/re-export-projection
Re-export Projection from ol/proj for convenience
2018-08-19 19:52:17 -06:00
Tim Schaub 68cf960028 Re-export Projection from ol/proj for convenience 2018-08-18 14:14:10 -06:00
Matthias Schiffer 94c6afd65d Avoid HTML entities like &nbsp; and &copy;
Use numerical entities instead for XHTML compatiblity.
2018-08-18 13:13:27 +02:00
Matthias Schiffer 321166849b Consistently use lowercase HTML tag names
Unlike HTML, XHTML is case-sensitive.
2018-08-18 12:48:14 +02:00
Andreas Hocevar 26cc0a3ded Merge pull request #8522 from openlayers/greenkeeper/marked-0.5.0
Update marked to the latest version 🚀
2018-08-17 11:30:38 +02:00
greenkeeper[bot] fffcf4415c chore(package): update marked to version 0.5.0 2018-08-17 09:00:28 +00:00
Andreas Hocevar 07cb678271 Merge pull request #8499 from ahocevar/focus
Round center in viewState to pixels
2018-08-16 16:41:15 +02:00
Guillaume Beraudo 315cfa1033 Fix WMTS layers URLs with dimensions 2018-08-16 15:34:56 +02:00
Andreas Hocevar 38349d8c37 Merge pull request #8520 from openlayers/redundant-if
Remove redundant if block
2018-08-16 08:31:29 +02:00
Andreas Hocevar adce78e19e Remove redundant if block 2018-08-16 07:04:53 +02:00
Andreas Hocevar eb0fcdb588 Merge pull request #8515 from ahocevar/getoverlay
More convenient select and sketch layer management
2018-08-15 13:21:48 +02:00
ahocevar 161c5b0105 Better documentation of the zIndex default 2018-08-15 11:24:29 +02:00
ahocevar 8ab1589f9a Add getOverlay method to access sketch and selection layers 2018-08-15 10:59:38 +02:00
ahocevar 95533e2425 Use configured zIndex for unmanaged layers 2018-08-15 10:58:52 +02:00
Andreas Hocevar a94dff2c06 Merge pull request #8505 from openlayers/greenkeeper/karma-3.0.0
Update karma to the latest version 🚀
2018-08-10 11:34:21 +02:00
greenkeeper[bot] fc75fc691b chore(package): update karma to version 3.0.0 2018-08-09 21:20:04 +00:00
ahocevar b9aceb23ac Let renderer decide whether to snapToPixel or not, also for text 2018-08-09 18:16:58 +02:00
ahocevar f382ddf230 Remove snapToPixel option and deprecate getters/setters 2018-08-09 18:16:58 +02:00
ahocevar dbdaa73cf2 Only change interacting flag when dragging 2018-08-09 18:16:58 +02:00
ahocevar f3cd1d8dfd Round center in viewState 2018-08-09 18:16:58 +02:00
Andreas Hocevar e5944682df Merge pull request #8503 from ahocevar/callback-closure
Avoid block scope issues in transpiled code
2018-08-09 13:55:17 +02:00
Andreas Hocevar 147a86c867 Merge pull request #8501 from openlayers/greenkeeper/rollup-plugin-commonjs-9.1.5
Update rollup-plugin-commonjs to the latest version 🚀
2018-08-09 10:57:34 +02:00
ahocevar 2d08811485 Link to Browserify example project 2018-08-09 10:34:31 +02:00
ahocevar fc19e3e12e Avoid block scope issues in transpiled code 2018-08-09 10:22:42 +02:00
greenkeeper[bot] a5fc8bdd25 chore(package): update rollup-plugin-commonjs to version 9.1.5 2018-08-09 05:49:21 +00:00
Andreas Hocevar 7f8b2d2e1f Merge pull request #8495 from openlayers/greenkeeper/rollup-0.64.1
Update rollup to the latest version 🚀
2018-08-07 21:43:35 +02:00
greenkeeper[bot] 80a00fce47 chore(package): update rollup to version 0.64.1 2018-08-07 19:20:14 +00:00
Andreas Hocevar ee8ed5193c Merge pull request #8493 from openlayers/greenkeeper/clean-css-cli-4.2.1
Update clean-css-cli to the latest version 🚀
2018-08-07 11:26:54 +02:00
greenkeeper[bot] cc7d825a13 chore(package): update clean-css-cli to version 4.2.1 2018-08-07 09:02:18 +00:00
Andreas Hocevar fd4e0f14cc Merge pull request #8490 from MarquesDeAzevedo/patch-1
WMTS getCapabilities readCoodinates more than one whitespace delimiter
2018-08-07 10:46:28 +02:00
MarquesDeAzevedo 85e1f11adb WMTS getCapabilities readCoodinates more than one whitespace delimiter
remove not required regexp modifier
2018-08-07 10:40:08 +02:00
MarquesDeAzevedo 47c4e1a165 WMTS getCapabilities readCoodinates more than one whitespace delimiter
combine split and replace
2018-08-07 09:56:17 +02:00
Andreas Hocevar 0bff75a067 Merge pull request #8491 from openlayers/greenkeeper/rollup-0.64.0
Update rollup to the latest version 🚀
2018-08-07 09:21:42 +02:00
greenkeeper[bot] ab81deb242 chore(package): update rollup to version 0.64.0 2018-08-07 07:12:54 +00:00
MarquesDeAzevedo 654073cd3d WMTS getCapabilities readCoodinates more than one whitespace delimiter
Some WMTS getCapabilities return <MatrixSet><TopLeftCorner> with more than one whitespace as delimiter between the coordinates. This leads to the layer not being displayed, because the origin_ property of ol.tilegrid.TileGrid is not set.
Error in ol.tilegrid.TileGrid.prototype.getTileCoordForXYAndZ_: JavaScript runtime error: Unable to get property '0' of undefined or null reference
2018-08-07 08:40:42 +02:00
Andreas Hocevar a354e842ab Merge pull request #8489 from ahocevar/prototype
Use .prototype. only where necessary
2018-08-06 15:44:06 +02:00
ahocevar 1eeea2aa4d Use class method syntax instead of .prototype.method = function 2018-08-06 15:30:17 +02:00
ahocevar 2f92e48e93 Use super.method instead of prototype.method.call 2018-08-06 15:30:17 +02:00
ahocevar c5b42c49d5 Fix Disposable's prototype handling 2018-08-06 15:30:17 +02:00
Andreas Hocevar 03d47e49ed Merge pull request #8486 from openlayers/greenkeeper/webpack-4.16.5
Update webpack to the latest version 🚀
2018-08-06 11:40:44 +02:00
Guillaume Beraudo abbfb5c653 Document the stableSort function 2018-08-06 10:50:18 +02:00
greenkeeper[bot] a78c163a4f chore(package): update webpack to version 4.16.5 2018-08-06 08:14:58 +00:00
Guillaume Beraudo a4178d05ef Expose the stableSort function
This is a low level function, essential to OpenLayers so it is always
shipped with OpenLayers.
2018-08-06 09:18:56 +02:00
Guillaume Beraudo dbf9048d8f Expose the getUid function
It is often useful in application code to have a way to uniquely identify
and object.

Exposing the OpenLayers mechanism allows for best performance and avoid
unneccessary dirt.
2018-08-06 09:18:56 +02:00
Andreas Hocevar 824ad48488 Merge pull request #8478 from ahocevar/available-font-weights
Check font availability with multiple font weights
2018-08-06 06:52:53 +02:00
Frédéric Junod 8cd9eabe68 Merge pull request #8483 from fredj/draw-shapes-null-coordinates
Don't create Polygon with null coordinates
2018-08-05 19:30:34 +02:00
Frederic Junod a50a4efeca Don't create Polygon with null coordinates 2018-08-04 07:35:19 +02:00
Frédéric Junod d49be1393e Merge pull request #8471 from samuel-girard/imagestatic_properties
Add getUrl and getImageExtent to ImageStatic API
2018-08-03 09:22:53 +02:00
Andreas Hocevar a991bb21d6 Merge pull request #8470 from scroach/tile-api-doc
Update Tile loading API docs
2018-08-03 09:13:48 +02:00
Andreas Hocevar df848d6673 Add basic tileLoadFunction example and refine advanced example 2018-08-03 09:04:24 +02:00
scroach 68ce6de0ca Updated Tile loading API docs 2018-08-03 09:01:47 +02:00
Tim Schaub 141fe5fe49 Merge pull request #8477 from gberaudo/expose_gutter
Expose original getGutter
2018-08-02 22:33:23 -06:00
Andreas Hocevar 57baa15cc3 Merge pull request #8476 from openlayers/greenkeeper/webpack-4.16.4
Update webpack to the latest version 🚀
2018-08-02 22:46:57 +02:00
Andreas Hocevar 64138bb94f Merge pull request #8475 from openlayers/greenkeeper/clean-css-cli-4.2.0
Update clean-css-cli to the latest version 🚀
2018-08-02 22:41:09 +02:00
ahocevar 62188502e9 Check font availability in 3 different weight ranges 2018-08-02 18:57:26 +02:00
Guillaume Beraudo fe86d2e7f7 Expose original getGutter
TileWMS objects take a gutter option but do not have a public getter
for it. This makes it convoluted for user code to recreate the object
(ex: in the case of serialization/deserialization).

- the getGutterInternal() method is renamed to getGutter;
- the getGutter(projection) method is renamed to getGutterForProjection,
  which is also more explicit.

The getGutter method was not API and is only used by the renderer.
2018-08-02 17:12:41 +02:00
greenkeeper[bot] 69ae9d7180 chore(package): update webpack to version 4.16.4 2018-08-02 14:55:46 +00:00
greenkeeper[bot] adc83ba484 chore(package): update clean-css-cli to version 4.2.0 2018-08-02 13:08:28 +00:00
Samuel Girard 4012280ad4 Use class property for url 2018-08-02 09:02:04 +02:00
Samuel Girard e48c85a689 Add getUrl and getImageExtent to ImageStatic API 2018-08-01 12:23:38 +02:00
Andreas Hocevar c74faaa7ca Merge pull request #8469 from openlayers/greenkeeper/rollup-0.63.5
Update rollup to the latest version 🚀
2018-08-01 10:52:23 +02:00
greenkeeper[bot] 236b6832fb chore(package): update rollup to version 0.63.5 2018-08-01 07:39:36 +00:00
Andreas Hocevar 93b92d3990 Merge pull request #8466 from ahocevar/on-focus-only
Add onFocusOnly option to interaction defaults
2018-07-31 13:27:14 +02:00
Andreas Hocevar a36ab978e7 Merge pull request #8465 from ahocevar/no-prevent-default-on-pointermove
Do not prevent default on pointermove
2018-07-31 13:26:46 +02:00
ahocevar 55fb62c551 Add onFocusOnly option to interaction defaults 2018-07-31 09:01:42 +02:00
ahocevar c74b9c1d55 Do not prevent default on pointermove
Instead, only prevent default on handled pointerdown events. This makes 
the `focus` condition work with interactions that involve dragging on 
touch devices.
2018-07-31 08:33:15 +02:00
Andreas Hocevar a56ca57ac6 Merge pull request #8461 from lionralfs/lionralfs-patch-1
Fix double backtick typo
2018-07-28 14:40:33 +02:00
Lion Ralfs 1aadd51c57 Fix double backtick typo 2018-07-28 12:58:37 +02:00
Tim Schaub a1391a2083 Merge pull request #8453 from openlayers/greenkeeper/webpack-4.16.3
Update webpack to the latest version 🚀
2018-07-27 17:55:28 -06:00
Frédéric Junod 5adf0be4a3 Merge pull request #8452 from fredj/f_8409
Remove extra translate function in Geometry, add missing api tag
2018-07-27 15:53:53 +02:00
Frédéric Junod 4c71ddb3c7 Merge pull request #8451 from fredj/rm_f
Remove unimplemented functions
2018-07-27 13:22:35 +02:00
greenkeeper[bot] efe15402cc chore(package): update webpack to version 4.16.3 2018-07-27 11:19:38 +00:00
Frederic Junod b3586bed8d Remove extra translate function in Geometry, add missing api tag 2018-07-27 13:19:12 +02:00
Frederic Junod 1e332f52d6 Remove unimplemented functions
The TypeScript checker complain about it.
It was a workaround for closure-compiler, it's not needed anymore.
2018-07-27 13:10:45 +02:00
Frédéric Junod c0f44f6d9d Merge pull request #8450 from fredj/types
Mark properties of ReadOptions and WriteOptions as optional
2018-07-27 11:45:25 +02:00
Andreas Hocevar efe0dd7fbf Merge pull request #8447 from openlayers/greenkeeper/rollup-plugin-commonjs-9.1.4
Update rollup-plugin-commonjs to the latest version 🚀
2018-07-27 11:39:47 +02:00
Frederic Junod 219629458b Mark properties of ReadOptions and WriteOptions as optional 2018-07-27 11:25:52 +02:00
greenkeeper[bot] b13feb0046 chore(package): update rollup-plugin-commonjs to version 9.1.4 2018-07-27 06:27:33 +00:00
Tim Schaub df293d8a2e Merge pull request #8443 from tschaub/void
Explicit void
2018-07-26 17:28:26 -06:00
Tim Schaub 6cfa2b22a7 Explicit void 2018-07-26 10:46:39 -06:00
Tim Schaub 8346bb7454 Merge pull request #8437 from tschaub/target
Avoid shadowing EventTarget
2018-07-26 09:21:57 -07:00
Tim Schaub 40486a0ecc Avoid shadowing EventTarget 2018-07-26 10:14:58 -06:00
Tim Schaub d8efa569d9 Merge pull request #8439 from tschaub/dotless
Fewer dots in types
2018-07-26 06:16:33 -07:00
Frédéric Junod adfb3dd229 Merge pull request #8441 from fredj/f_8440
Fix loaded script for the example-verbatim examples
2018-07-26 14:02:33 +02:00
Frederic Junod 3c0be4e611 Fix loaded script for the example-verbatim examples 2018-07-26 13:46:17 +02:00
Tim Schaub 2eb07aa081 Use Template<Foo> instead of Template.<Foo> 2018-07-25 18:37:08 -07:00
Tim Schaub affbf59b77 Use Object<Foo, Bar> instead of Object.<Foo, Bar> 2018-07-25 18:33:49 -07:00
Tim Schaub d12ef20b12 Use Array<Foo> instead of Array.<Foo> 2018-07-25 18:32:43 -07:00
Frédéric Junod 5a6502572f Merge pull request #8435 from fredj/f_8434
Call setCoordinates on the point instance
2018-07-25 16:55:05 +02:00
Frederic Junod d7adf0b4f3 Call setCoordinates on the point instance 2018-07-25 16:10:56 +02:00
Tim Schaub f7551623e7 Merge pull request #8428 from tschaub/ts-fixes
Type name on same line as type
2018-07-24 07:24:13 -07:00
Tim Schaub 6f22f1b7ac Param name on same line as type 2018-07-23 16:28:22 -07:00
Tim Schaub 6cdfbe3116 Merge pull request #8422 from jkoelewijn/improveJsDocForAngularCli
Improve JSDoc such that `ng build --prod` with angular/cli 6.0.8 succeeds again
2018-07-23 14:40:50 -07:00
Jaap Koelewijn 704845e37a Use alternative JSDoc annotation for optional parameter which passes the tests. 2018-07-23 21:29:52 +02:00
Jaap Koelewijn fd9219f035 Incorporate review comments of ahocevar and tschaub. 2018-07-23 21:12:43 +02:00
Tim Schaub f3786f9cff Merge pull request #8426 from openlayers/greenkeeper/webpack-4.16.2
Update webpack to the latest version 🚀
2018-07-23 07:23:19 -07:00
greenkeeper[bot] 436633b990 chore(package): update webpack to version 4.16.2 2018-07-23 12:03:50 +00:00
Andreas Hocevar a89ae25134 Merge pull request #8396 from iamplex/fix-createRegularPolygon
Fix ol.interaction.Draw~createRegularPolygon
2018-07-23 10:51:32 +02:00
Jaap Koelewijn 2769953204 Fix JSDoc such that ng build --prod with angular/cli 6.0.8 succeeds again. 2018-07-23 01:05:26 +02:00
Andreas Hocevar 14ead39440 Merge pull request #8420 from ahocevar/raster-lib-fn-names
Keep function names when building examples
2018-07-22 22:55:05 +02:00
ahocevar 39261af940 Keep function names when building examples 2018-07-22 17:39:20 +02:00
Tim Schaub 9ec623380a Merge pull request #8419 from tschaub/release-v5.1.3
Release v5.1.3
2018-07-21 08:45:16 -07:00
Tim Schaub 28104527b0 Updates for v5.1.3 2018-07-21 09:44:10 -06:00
Tim Schaub b50bc1febf Merge pull request #8417 from tschaub/bad-info
Minor doc updates
2018-07-21 08:34:01 -07:00
Andreas Hocevar c046c2a1ba Merge pull request #8418 from ahocevar/classdesc-constructor-api
Set api annotation on classdesc, not constructor
2018-07-21 17:33:30 +02:00
ahocevar bbe0a66d07 Set api annotation on classdesc, not constructor 2018-07-21 17:25:22 +02:00
Tim Schaub d8b290966b Tracking 2018-07-21 09:11:30 -06:00
Tim Schaub 0edb39c8ab Single quote instead of backtick 2018-07-21 08:40:03 -06:00
Tim Schaub f0ffb48633 Update concepts 2018-07-21 08:37:38 -06:00
Tim Schaub 171195a836 Remove broken link to sources 2018-07-21 08:24:44 -06:00
ahocevar 45cf296ed4 Simplify calculation and add tests 2018-07-21 10:22:42 +02:00
plex b377bbac59 fix: change the start angle of the regular polygon to match the sketch 2018-07-21 09:44:00 +02:00
Tim Schaub 2767ddfdc7 Merge pull request #8414 from tschaub/release-v5.1.2
Updates for 5.1.2
2018-07-20 19:04:08 -07:00
Tim Schaub cd85e30d08 Updates for 5.1.2 2018-07-20 20:03:15 -06:00
Tim Schaub 139fcd7bae Merge pull request #8413 from tschaub/jsdoc-fix
Remove extra curly in type
2018-07-20 19:00:34 -07:00
Tim Schaub 2a04415264 Remove extra curly in type 2018-07-20 19:57:49 -06:00
Tim Schaub 515eca797f Correct link to release notes 2018-07-20 19:44:04 -06:00
Tim Schaub 0b0d5c63da Merge pull request #8412 from tschaub/release-v5.1.1
Changes for 5.1.1.
2018-07-20 18:38:59 -07:00
Tim Schaub 1ad3e8fe37 Changes for 5.1.1. 2018-07-20 19:33:45 -06:00
Tim Schaub e5d7b30c31 Merge pull request #8411 from tschaub/release-v5.1.0
Release v5.1.0
2018-07-20 17:40:21 -07:00
Tim Schaub 1b745dc7b7 Update the publish.sh script 2018-07-20 18:31:25 -06:00
Tim Schaub f8c5a79242 Collapsed dependency updates 2018-07-20 18:22:28 -06:00
Tim Schaub 9061e93c59 Update package version to 5.1.0 2018-07-20 18:20:17 -06:00
Tim Schaub b04728d907 Changelog for v5.1.0 2018-07-20 18:20:11 -06:00
Tim Schaub 154827c5d5 Merge pull request #8409 from pjeweb/patch-2
Add abstract translate to ol/geom/Geometry
2018-07-20 09:57:06 -07:00
Andreas Hocevar f1d03702b2 Merge pull request #8410 from openlayers/greenkeeper/rollup-0.63.4
Update rollup to the latest version 🚀
2018-07-20 18:24:18 +02:00
greenkeeper[bot] 23f9110f1f chore(package): update rollup to version 0.63.4 2018-07-20 16:02:19 +00:00
Tim Schaub d3e221bd10 Merge pull request #8408 from openlayers/greenkeeper/rollup-0.63.3
Update rollup to the latest version 🚀
2018-07-20 07:56:15 -07:00
Paul Golmann e3e6a28e18 Add abstract translate to ol/geom/Geometry 2018-07-20 15:40:53 +02:00
greenkeeper[bot] f3089efd19 chore(package): update rollup to version 0.63.3 2018-07-20 12:53:36 +00:00
Tim Schaub 2cfc2fd369 Merge pull request #8405 from tschaub/ts-fixes
Minor type fixes
2018-07-19 15:55:25 -07:00
Tim Schaub c860aed960 Import inherits, getUid, and VERSION from ol/util 2018-07-19 10:26:17 -06:00
Tim Schaub 83972b00a5 Use single quote instead of backtick 2018-07-19 10:22:10 -06:00
Tim Schaub cf58ee9bf1 Only use getUid from ol/util 2018-07-19 10:19:41 -06:00
Tim Schaub e5493d1288 Add ol/pixel module for Pixel type 2018-07-19 10:17:00 -06:00
Andreas Hocevar f77b6be8e9 Merge pull request #8401 from ahocevar/css-side-effects
Make webpack's css loader work
2018-07-19 17:27:49 +02:00
Tim Schaub 1c5cc6ea7f Merge pull request #8386 from openlayers/greenkeeper/fs-extra-7.0.0
Update fs-extra to the latest version 🚀
2018-07-19 08:12:16 -07:00
Tim Schaub b7c49e1007 Merge pull request #8403 from tschaub/md-links
Markdown links
2018-07-19 08:06:43 -07:00
Tim Schaub e1e34e5636 Replace @see with See. 2018-07-19 08:37:32 -06:00
Tim Schaub d46471d763 Replace {@link https://www.example.com/} with https://www.example.com/ 2018-07-19 08:34:35 -06:00
Frédéric Junod dae843a98d Merge pull request #8402 from fredj/fixes_from_ts
Type fixes from the typescript checks
2018-07-19 16:28:18 +02:00
Frederic Junod 85d836d909 Remove 'Geolocation' prefix from types
So they are recognized by the TypeScript type checker.
2018-07-19 16:02:58 +02:00
Frederic Junod 323eb3f251 Fix reprojectionErrorThreshold property type 2018-07-19 16:02:58 +02:00
Frederic Junod 5d2cf66380 Add missing 'targetRotation' property in Animation typedef 2018-07-19 16:02:58 +02:00
Frederic Junod 2e60961700 Use 'HTMLElement' type instead of 'Element' in controls 2018-07-19 16:02:58 +02:00
Frederic Junod c1ffb0a2a9 Move template type at the class level
This removes the TS1092 error from TypeScript: Type parameters cannot appear on a constructor declaration.
2018-07-19 15:53:52 +02:00
Tim Schaub 8f7b52f266 Merge pull request #8400 from tschaub/eslint-config-update
ESLint config update
2018-07-18 10:48:09 -07:00
ahocevar bcefb07cf2 Make webpack's css loader work 2018-07-18 19:02:59 +02:00
Andreas Hocevar 52c75e32ee Merge pull request #8399 from ahocevar/copy-css
Copy ol.css to build dir when building package
2018-07-18 19:01:27 +02:00
ahocevar 60c8360330 Copy ol.css to build dir when building package 2018-07-18 18:37:05 +02:00
Tim Schaub b8c9125602 Remove lint 2018-07-18 10:35:54 -06:00
Tim Schaub 71555002a8 Latest linter config 2018-07-18 10:33:31 -06:00
Tim Schaub 5d029f4256 Merge pull request #8397 from tschaub/rollupdate
Update rollup
2018-07-18 09:32:01 -07:00
Tim Schaub 6fa4fa59d6 Update rollup 2018-07-18 10:25:24 -06:00
Tim Schaub b4ce8e4b3d Merge pull request #8385 from openlayers/class
Use class syntax
2018-07-18 09:16:27 -07:00
ahocevar 4cdab30201 Replace VERSION correctly in transpiled code 2018-07-18 18:05:02 +02:00
ahocevar 47c58d8a34 Transpile sources for testing 2018-07-18 17:54:29 +02:00
ahocevar 5124c98fb5 Default VERSION to 'latest' 2018-07-18 17:41:22 +02:00
ahocevar aecb7e1789 Remove unused inherits 2018-07-18 16:33:35 +02:00
ahocevar 0a126b620c Use class keyword in tests 2018-07-18 16:30:09 +02:00
ahocevar 9ed3540edf Fix this access in WMTS source 2018-07-18 16:29:53 +02:00
ahocevar 4589345fac Remove leftover this in super call 2018-07-18 15:41:35 +02:00
ahocevar e52cabcb31 Fix DragZoom tests 2018-07-18 15:41:13 +02:00
ahocevar 6f32d1a15b Deprecate ol/inherits 2018-07-18 15:40:53 +02:00
ahocevar 95533bef66 Fix WKT geometry type lookup and tests 2018-07-18 15:40:39 +02:00
ahocevar 4adab51768 stopPropagation and preventDefault are now separate functions 2018-07-18 12:21:42 +02:00
ahocevar b813937991 Access the correct element 2018-07-18 12:19:33 +02:00
ahocevar 87a3510c83 Clean up super calls 2018-07-18 12:19:15 +02:00
ahocevar d6190a0cd7 Remove accidently added .only() 2018-07-18 12:15:02 +02:00
ahocevar 8991dc9718 Do not use this before super() 2018-07-18 12:09:04 +02:00
Frederic Junod 65b306891b Remove 'struct' jsdoc tags, code indentation 2018-07-18 09:07:27 +02:00
Tim Schaub b4e0d4c188 Super before this in TileJSON source 2018-07-18 01:00:19 -06:00
Tim Schaub 1309cf9b69 Call super before accessing this in Carto source 2018-07-18 00:53:57 -06:00
Tim Schaub 023bb638b2 Call super before accessing this in raster source 2018-07-18 00:53:17 -06:00
Tim Schaub d885771d8d Call super before accessing this in BingMaps source 2018-07-18 00:52:23 -06:00
Tim Schaub 7713015b26 Call super before accessing this in icon 2018-07-18 00:49:00 -06:00
Tim Schaub fe8fcfbc7e Call super in WebGL context 2018-07-18 00:45:19 -06:00
Tim Schaub 3f4ba0af5f Call super in regular shape 2018-07-18 00:44:24 -06:00
Tim Schaub 1e4ab17513 Assign to this after super in WMTS tile grid 2018-07-18 00:43:29 -06:00
Tim Schaub 5f058e877f Call super and fix up comments in render box 2018-07-18 00:39:51 -06:00
Tim Schaub 9ce36da349 Remove @extends and @constructor annotations 2018-07-18 00:36:29 -06:00
Tim Schaub b7b15eb7f0 Remove unused inherits 2018-07-18 00:13:43 -06:00
Tim Schaub 1a5cf52b61 Remove remaining use of inherits in src 2018-07-17 23:43:10 -06:00
Tim Schaub f6046c023c Clean up remaining ol/format/filter class 2018-07-17 18:30:15 -06:00
Tim Schaub c4e5a7467e Clean up ol/renderer classes 2018-07-17 18:26:51 -06:00
Tim Schaub 9ee5edf19c Clean up ol/renderer/webgl classes 2018-07-17 18:23:52 -06:00
Tim Schaub 792e7e54f1 Clean up ol/renderer/canvas classes 2018-07-17 18:15:47 -06:00
Tim Schaub 45e0926896 Cleaned up ol/proj 2018-07-17 17:54:24 -06:00
Tim Schaub 069187859d Cleaned up ol/pointer classes 2018-07-17 17:48:27 -06:00
Tim Schaub d855f5ba0a Call super instead of BaseObject 2018-07-17 14:57:57 -06:00
Tim Schaub 2f4aa5aa05 No inherits in ZoomToExtent 2018-07-17 14:56:19 -06:00
Tim Schaub bd7328675a Construct error with message 2018-07-17 14:55:10 -06:00
Tim Schaub 7c6755d3ec Scripts for generating the package and legacy build 2018-07-17 14:48:17 -06:00
Tim Schaub 524b4c99d5 Bad @const annotation 2018-07-17 14:48:17 -06:00
ahocevar e79add2e77 Use extends, super and proper constructor jsdoc for ol/interaction 2018-07-17 21:09:06 +02:00
ahocevar fd962caa1c Use extends, super and proper constructor comments for format/filter/ 2018-07-17 18:36:26 +02:00
ahocevar 414d1556a7 Use extends and super for format/XMLFeature 2018-07-17 18:03:21 +02:00
ahocevar a02c1713a4 Use extends and super for format/WMTSCapabilities 2018-07-17 18:02:01 +02:00
ahocevar ba431421a1 Use extends and super for format/WMSGetFeatureInfo 2018-07-17 18:01:07 +02:00
ahocevar a4abd990df Use extends and super for format/WMSCapabilities 2018-07-17 17:59:53 +02:00
ahocevar df89b0718a Use extends and super for format/WKT 2018-07-17 17:56:30 +02:00
ahocevar 942a219c30 Use extends and super for format/WFS 2018-07-17 17:49:08 +02:00
ahocevar 788f932550 Use extends and super for format/TopoJSON 2018-07-17 17:15:41 +02:00
ahocevar c969afcddc Use extends and super for format/TextFeature 2018-07-17 17:14:14 +02:00
ahocevar 9b2b921f7b Use extends and super for format/Polyline 2018-07-17 17:13:13 +02:00
ahocevar 092441017d Use extends and super for format/OWS 2018-07-17 17:04:02 +02:00
ahocevar 5e71e6ce80 Use extends and super for format/OSMXML 2018-07-17 17:02:55 +02:00
ahocevar cf15af43e3 Use extends and super for format/MVT 2018-07-17 17:00:43 +02:00
ahocevar a8bd0c5dd7 Use extends and super for format/KML 2018-07-17 16:59:13 +02:00
ahocevar ad4e192ee9 Use extends and super for format/JSONFeature 2018-07-17 16:54:17 +02:00
ahocevar 6a39b9f412 Use extends and super for format/IGC 2018-07-17 16:49:38 +02:00
Frederic Junod f140ff368d Move jsdoc constructor comments for controls 2018-07-17 16:44:53 +02:00
ahocevar e1e5e54d74 Use extends and super for format/GPX 2018-07-17 16:43:54 +02:00
ahocevar 9a28af76ca Use extends and super for GMLBase 2018-07-17 16:43:54 +02:00
ahocevar 7f05bf1d7e Use extends and super for format/GML3 2018-07-17 16:43:54 +02:00
ahocevar 84e9d7c72e Use extends and super for format/GML2 2018-07-17 16:43:54 +02:00
ahocevar 672a462b1e Use extends and super for format/GeoJSON 2018-07-17 16:43:53 +02:00
Frederic Junod c707b4c746 Use extends and super for geom 2018-07-17 16:21:54 +02:00
ahocevar 44bea898b8 Use extends and super for format/JSONFeature 2018-07-17 16:10:11 +02:00
ahocevar a235dc906f Use extends and super for events/EventTarget 2018-07-17 16:01:04 +02:00
ahocevar f5272bb391 Use extends and super for control/ZoomToExtent 2018-07-17 15:02:38 +02:00
ahocevar 6530119918 Use extends and super for control/ZoomSlider 2018-07-17 14:58:37 +02:00
ahocevar 11f1f5b25c Use new eslint config to enforce no-this-before-super 2018-07-17 14:58:12 +02:00
ahocevar 600205f4d9 Use extends and super for control/Zoom 2018-07-17 14:44:27 +02:00
ahocevar 1da14a6d97 Use extends and super for control/ScaleLine 2018-07-17 14:41:27 +02:00
ahocevar 7d5efd0348 Use extends and super for control/Rotate 2018-07-17 14:41:27 +02:00
ahocevar 6ffda39b14 Use extends and super for control/OverviewMap 2018-07-17 14:41:27 +02:00
ahocevar 353a00af89 Use extends and super for control/MousePosition 2018-07-17 14:41:26 +02:00
ahocevar b9f08c6a2a Use extends and super for control/FullScreen 2018-07-17 14:41:26 +02:00
ahocevar 322a51d822 Use extends and super for control/Control 2018-07-17 14:41:25 +02:00
ahocevar 49c4a75777 Use extends and super for control/Attribution 2018-07-17 14:41:25 +02:00
ahocevar 778e867c79 Use extends and super for WebGLMap 2018-07-17 14:21:50 +02:00
ahocevar 4f26f145ae Use extends and super for View 2018-07-17 14:20:48 +02:00
ahocevar 9c994138ad Use extends and super for VectorTile 2018-07-17 14:19:43 +02:00
ahocevar 603f489708 Use extends and super for VectorImageTile 2018-07-17 14:18:40 +02:00
ahocevar 2e5054d11c Use extends and super for TileQueue 2018-07-17 14:15:34 +02:00
ahocevar 64190b7109 Use extends and super for TileCache 2018-07-17 14:15:34 +02:00
ahocevar 9e259c471d Use extends and super for Tile 2018-07-17 14:15:34 +02:00
ahocevar 505f88031b Use extends and super for PluggableMap 2018-07-17 14:15:33 +02:00
ahocevar 0f6ee28c19 Use extends and super for Overlay 2018-07-17 14:15:33 +02:00
ahocevar 2fd022d215 Use extends and super for Observable 2018-07-17 14:15:32 +02:00
ahocevar 2792ba701a Use extends and super for Object 2018-07-17 14:15:32 +02:00
ahocevar e1fedca22e Use extends and super for MapEvent 2018-07-17 14:15:32 +02:00
ahocevar 5a90203aa0 Use extends and super for MapBrowserPointerEvent 2018-07-17 13:54:30 +02:00
ahocevar edd23dbf6a Use extends and super for MapBrowserEventHandler 2018-07-17 13:53:05 +02:00
ahocevar 16849a3611 Use extends and super for MapBrowserEvent 2018-07-17 13:51:32 +02:00
ahocevar de104d6e22 Use extends and super for Map 2018-07-17 13:49:53 +02:00
ahocevar 5f40b5b66b Use extends and super for ImageTile 2018-07-17 13:47:13 +02:00
ahocevar 6ca865375e Use extends and super for ImageCanvas 2018-07-17 13:45:54 +02:00
ahocevar 61c48ce09f Use extends and super for ImageBase 2018-07-17 13:40:49 +02:00
ahocevar fb59d7a65b Use extends and super for Image 2018-07-17 13:28:27 +02:00
ahocevar ec495bfcec Use extends and super for Geolocation 2018-07-17 11:56:21 +02:00
ahocevar 6f4d2e34a9 Use extends and super for Feature 2018-07-17 11:49:37 +02:00
ahocevar aa7b6350ec Use extends and super for Collection 2018-07-17 11:46:19 +02:00
ahocevar 0224e2b3c5 Use extends and super for AssertionError 2018-07-17 11:45:50 +02:00
Frederic Junod 540b1793e7 Move jsdoc constructor comments 2018-07-17 10:20:26 +02:00
Frederic Junod f2d0b11d24 Move jsdoc constructor comments 2018-07-17 09:59:00 +02:00
Frederic Junod 384920734f Fix webgl.js path import in webgl shaders 2018-07-17 09:19:04 +02:00
Frederic Junod 7e3e0e54ca Fix comments indentation 2018-07-17 09:15:16 +02:00
greenkeeper[bot] c49d2e0115 chore(package): update fs-extra to version 7.0.0 2018-07-17 02:22:58 +00:00
Tim Schaub d0ab8dce38 Lint removal 2018-07-16 17:57:57 -06:00
Tim Schaub f78d0d4cfa Manual class transform 2018-07-16 17:09:50 -06:00
Tim Schaub 7b4a73f3b9 Automated class transform
npx lebab --replace src --transform class
2018-07-16 16:18:16 -06:00
Tim Schaub 60e85e7d89 Merge pull request #8383 from Turbo87/set-anchor
style/Icon: Add `setAnchor()` method
2018-07-16 04:56:03 -07:00
Tobias Bieniek 2096a1d0db style/Icon: Add setAnchor() method
This allows users to adjust the anchor after the `Icon` is defined. This can be useful if the anchor should depend on the rotation of the icon.
2018-07-16 12:48:52 +02:00
Andreas Hocevar 41fd1d4222 Merge pull request #8382 from openlayers/greenkeeper/webpack-4.16.1
Update webpack to the latest version 🚀
2018-07-16 12:26:31 +02:00
greenkeeper[bot] b1f80a5998 chore(package): update webpack to version 4.16.1 2018-07-16 09:31:10 +00:00
Andreas Hocevar 19ca2c25c6 Merge pull request #8368 from ahocevar/imagemode-render-listeners
Make render listeners work with image render mode
2018-07-14 11:52:40 +02:00
Andreas Hocevar 84d2c3a42e Merge pull request #8376 from virtualcitySYSTEMS/feature-polygonMakeRegularXYZ
copy ZM values to polygon in makeRegular
2018-07-12 18:00:54 +02:00
Ben Kuster 88fbd6e35d moved copying of ZM values to Polygon.fromCircle 2018-07-12 17:25:31 +02:00
Ben Kuster 33ef64c912 copy ZM values to polygon in makeRegular 2018-07-12 12:52:05 +02:00
Andreas Hocevar ed7788ca37 Merge pull request #8373 from openlayers/greenkeeper/webpack-4.16.0
Update webpack to the latest version 🚀
2018-07-11 20:54:07 +02:00
greenkeeper[bot] 623c887579 chore(package): update webpack to version 4.16.0 2018-07-11 09:53:51 +00:00
Andreas Hocevar f2b7dfc26c Merge pull request #8372 from openlayers/release-v5.0.3
Release v5.0.3
2018-07-11 11:11:07 +02:00
ahocevar 349e602ee5 Update package version to 5.0.3 2018-07-11 11:01:34 +02:00
ahocevar 9cb10efe4b Changelog for v5.0.3 2018-07-11 10:56:05 +02:00
Andreas Hocevar 871a283601 Merge pull request #8364 from ahocevar/ie-examples
Make examples work in IE11
2018-07-11 10:51:08 +02:00
Andreas Hocevar d1a609e0a3 Merge pull request #8363 from ahocevar/package-json-autogenerate
Autogenerate src/ol/package.json
2018-07-11 10:49:43 +02:00
Andreas Hocevar e0c5529878 Merge pull request #8371 from ahocevar/empty-replay-groups
Skip rendering when there is no replay group
2018-07-11 10:47:42 +02:00
Andreas Hocevar 186d5466f4 Merge pull request #8364 from ahocevar/ie-examples
Make examples work in IE11
2018-07-11 10:16:45 +02:00
Andreas Hocevar dc9e0a6bc4 Merge pull request #8363 from ahocevar/package-json-autogenerate
Autogenerate src/ol/package.json
2018-07-11 09:35:42 +02:00
Andreas Hocevar b74dd515d5 Merge pull request #8371 from ahocevar/empty-replay-groups
Skip rendering when there is no replay group
2018-07-10 22:21:48 +02:00
ahocevar 1ee1ea6a1a Skip rendering when there is no replay group 2018-07-10 22:03:14 +02:00
ahocevar fe0f91cb29 Add renderMode property to Heatmap layer 2018-07-10 14:10:35 +02:00
ahocevar 5d6721192d Make render listeners work with image render mode 2018-07-10 11:22:16 +02:00
Andreas Hocevar d0a8043edc Merge pull request #8362 from ahocevar/smart-flat-coordinates
Smart flat coordinates
2018-07-09 10:27:11 +02:00
ahocevar f3f0403cec Transpile examples for use with IE 11 2018-07-08 23:31:04 +02:00
ahocevar 84a88616a8 Match filename only when seraching source 2018-07-08 23:31:04 +02:00
ahocevar 4055a08043 Remove unused fields from package.json 2018-07-08 22:52:24 +02:00
ahocevar afec93ae62 Autogenerate src/ol/package.json from package.json 2018-07-08 22:51:51 +02:00
ahocevar e7d6bc055a Describe change in upgrade notes 2018-07-07 18:09:51 +02:00
ahocevar 97f6171b4c Rename setFlatCoordinatesInternal to setFlatCoordinates 2018-07-07 18:04:13 +02:00
ahocevar e2f8d96763 Accept flat coordinates in Circle constructor 2018-07-07 18:02:38 +02:00
ahocevar ce97cee6a6 Accept polygons and flat coordinates in MultiPolygon constructor 2018-07-07 17:31:35 +02:00
ahocevar 0ec0491ef6 Accept flat coordinates in LinearRing constructor 2018-07-07 17:12:12 +02:00
ahocevar a09b6c91c9 Accept linestrings and flat coordinates in MultiLineString constructor 2018-07-07 17:01:39 +02:00
ahocevar 3871f7785a Accept flat coordinates for MultiPoint constructor 2018-07-07 16:26:24 +02:00
ahocevar 160f1bc286 Accept flat coordinates in LineString constructor 2018-07-07 16:04:43 +02:00
ahocevar c0d04ea077 Do not accept null coordinates in Point constructor 2018-07-07 14:48:46 +02:00
ahocevar da0838dde2 Treat WKT EMPTY geometries properly
Empty points have NaN as each coordinate, other geometry types have
empty arrays.
2018-07-07 14:48:06 +02:00
ahocevar 1da43d90af Allow flat coordinates for Polygon constructor 2018-07-07 14:16:39 +02:00
Andreas Hocevar 9ddd7e4751 Merge pull request #8355 from openlayers/greenkeeper/recast-0.15.2
Update recast to the latest version 🚀
2018-07-06 09:50:30 +02:00
Andreas Hocevar 538315f682 Merge pull request #8354 from openlayers/greenkeeper/webpack-4.15.1
Update webpack to the latest version 🚀
2018-07-06 09:33:56 +02:00
Tim Schaub b8db6bf087 Merge pull request #8352 from tschaub/false
Set `sideEffects` to `false` instead of `"false"`
2018-07-05 12:51:13 -06:00
greenkeeper[bot] 42228ed87d chore(package): update recast to version 0.15.2 2018-07-05 17:32:58 +00:00
greenkeeper[bot] 707afeab06 chore(package): update webpack to version 4.15.1 2018-07-05 14:36:50 +00:00
Andreas Hocevar 7a7414447f Merge pull request #8348 from openlayers/greenkeeper/webpack-4.15.0
Update webpack to the latest version 🚀
2018-07-05 11:03:03 +02:00
Tim Schaub fb28071dd1 Use false instead of "false" 2018-07-04 17:01:55 -06:00
Andreas Hocevar 6b39353ccb Merge pull request #8351 from ahocevar/post-release-fix
Fix typo in release notes
2018-07-05 00:19:28 +02:00
ahocevar 6f6e9a2af1 Fix typo in release notes 2018-07-05 00:18:53 +02:00
Andreas Hocevar bc3e348b0d Merge pull request #8350 from ahocevar/release-v5.0.2
Updates for v5.0.2
2018-07-05 00:05:33 +02:00
ahocevar 59c3eedbab Updates for v5.0.2 2018-07-05 00:04:32 +02:00
Andreas Hocevar 60600d3108 Merge pull request #8349 from ahocevar/release-v5.0.1
Release v5.0.1
2018-07-04 23:57:53 +02:00
Andreas Hocevar 49050063d5 Merge pull request #8343 from tschaub/starter-project
Starter projects
2018-07-04 23:53:48 +02:00
Andreas Hocevar 1b9cad6b8d Merge pull request #8343 from tschaub/starter-project
Starter projects
2018-07-04 23:52:14 +02:00
greenkeeper[bot] 9c16cc4200 chore(package): update webpack to version 4.15.0 2018-07-04 20:45:17 +00:00
Andreas Hocevar c9b638f5fd Merge pull request #8347 from ahocevar/post-release-notes-fixes
Fix typos in release notes
2018-07-04 22:17:50 +02:00
ahocevar f3b79c57f7 Fix typos in release notes 2018-07-04 22:17:18 +02:00
Andreas Hocevar 769a14d0dc Merge pull request #8346 from openlayers/release-v5.0.1
Release v5.0.1
2018-07-04 22:07:56 +02:00
ahocevar 11024ad294 Update package version to 5.0.1 2018-07-04 22:02:38 +02:00
ahocevar 73f1428701 Changelog for v5.0.1 2018-07-04 21:52:27 +02:00
Andreas Hocevar a579b168f7 Merge pull request #8341 from ahocevar/side-effects
Set sideEffects: false flag
2018-07-04 21:46:51 +02:00
Andreas Hocevar 537a21fd48 Merge pull request #8342 from ahocevar/quickstart-links
Fix links and description in quickstart tutorial
2018-07-04 21:46:29 +02:00
Andreas Hocevar e18d485d01 Merge pull request #8342 from ahocevar/quickstart-links
Fix links and description in quickstart tutorial
2018-07-04 19:20:33 +02:00
Tim Schaub 853fc77f2a Merge pull request #8344 from tschaub/issue-templates
Updated issue and pr templates
2018-07-04 10:43:50 -06:00
Tim Schaub c678354aec Remove Rollup/Closure gist 2018-07-04 09:05:04 -06:00
Tim Schaub 1f06f7c2ac Updated issue and pr templates 2018-07-04 08:58:29 -06:00
Tim Schaub 9c085e37de Starter project with Parcel 2018-07-04 08:45:39 -06:00
Tim Schaub a6896ed531 New starter projects 2018-07-04 08:32:15 -06:00
ahocevar 9304ee25af Fix links and description in quickstart tutorial 2018-07-04 14:52:14 +02:00
Andreas Hocevar f0f21d583a Merge pull request #8338 from openlayers/greenkeeper/recast-0.15.1
Update recast to the latest version 🚀
2018-07-04 13:46:23 +02:00
Andreas Hocevar 54d50af2c3 Merge pull request #8341 from ahocevar/side-effects
Set sideEffects: false flag
2018-07-04 13:44:37 +02:00
ahocevar 9f84494b02 Set sideEffects: false flag 2018-07-04 13:10:20 +02:00
greenkeeper[bot] e18a23c877 chore(package): update recast to version 0.15.1 2018-07-04 02:57:20 +00:00
Andreas Hocevar cb78019825 Merge pull request #8332 from openlayers/greenkeeper/webpack-4.14.0
Update webpack to the latest version 🚀
2018-07-02 07:17:08 +02:00
Frédéric Junod 352d77e2ec Merge pull request #8333 from openlayers/cleanup
Fix wrong return type for readHref function
2018-07-01 07:31:56 +02:00
greenkeeper[bot] a978467726 chore(package): update webpack to version 4.14.0 2018-06-29 13:18:58 +00:00
Frederic Junod ddeb091871 Fix wrong return type for readHref function 2018-06-29 14:15:07 +02:00
Frédéric Junod bc60c8ec32 Merge pull request #8329 from fredj/better_typing
Better jsdoc typing
2018-06-29 13:12:09 +02:00
Frederic Junod 6da2e4cef4 More precise Event typing 2018-06-29 12:53:20 +02:00
Andreas Hocevar 001add5a28 Merge pull request #8326 from openlayers/greenkeeper/webpack-4.13.0
Update webpack to the latest version 🚀
2018-06-29 11:05:46 +02:00
Frederic Junod 8c4c70e9f0 Change 'Element' type to 'HTMLElement' 2018-06-29 09:31:59 +02:00
Frederic Junod 0c300d651f Change 'Image' type to 'HTMLImageElement' 2018-06-29 09:31:32 +02:00
greenkeeper[bot] b072dc5968 chore(package): update webpack to version 4.13.0 2018-06-28 16:39:52 +00:00
Frédéric Junod 52e286b03c Merge pull request #8319 from fredj/cleanup
Remove reference to setProj4 function in documentation
2018-06-27 11:20:15 +02:00
Andreas Hocevar 7dcc720029 Improve readability 2018-06-27 11:15:49 +02:00
Frederic Junod 770407f1ba Remove reference to setProj4 function in documentation
The function was removed in #7598
2018-06-27 10:35:03 +02:00
Andreas Hocevar 53cb47cab9 Merge pull request #8321 from openlayers/greenkeeper/rollup-0.62.0
Update rollup to the latest version 🚀
2018-06-27 10:26:02 +02:00
greenkeeper[bot] 5ba08b7291 chore(package): update rollup to version 0.62.0 2018-06-27 08:11:02 +00:00
Andreas Hocevar 43e67b73c2 Merge pull request #8318 from openlayers/greenkeeper/webpack-4.12.2
Update webpack to the latest version 🚀
2018-06-27 09:39:54 +02:00
greenkeeper[bot] 4ed9f27cd1 chore(package): update webpack to version 4.12.2 2018-06-27 06:41:38 +00:00
Andreas Hocevar bde6caf082 Merge pull request #8317 from openlayers/release-v5.0.0
Release v5.0.0
2018-06-26 22:08:29 +02:00
Tim Schaub 062b743f89 Collapsible details 2018-06-26 13:47:28 -06:00
Tim Schaub 79b959da66 Update version 2018-06-26 13:39:03 -06:00
Tim Schaub 234b05a48a Changelog wording 2018-06-26 13:27:27 -06:00
Tim Schaub 1627e1fe79 Update package versions 2018-06-26 13:21:36 -06:00
Tim Schaub 37bb4ea056 Changelog for v5.0.0 2018-06-26 13:19:12 -06:00
Andreas Hocevar fd44f0d4cb Merge pull request #8315 from openlayers/greenkeeper/eslint-5.0.1
Update eslint to the latest version 🚀
2018-06-26 11:36:36 +02:00
greenkeeper[bot] 0994712602 chore(package): update eslint to version 5.0.1 2018-06-26 08:47:12 +00:00
Tim Schaub 2d5bc174dd Merge pull request #8314 from tschaub/hit-tolerance
Accept hitTolerance in map.forEachLayerAtPixel()
2018-06-25 10:41:43 -06:00
simonseyock a4f29890f7 Upgrade notes about map.forEachLayerAtPixel() 2018-06-25 09:09:15 -06:00
simonseyock fcc7d87b06 Support hitTolerance in forEachLayerAtPixel 2018-06-25 09:09:02 -06:00
Tim Schaub 3b64641e5a Merge pull request #7750 from schmidtk/canvas-polygon-replay
Don't assume fill for canvas polygon hit detection.
2018-06-25 08:36:30 -06:00
Tim Schaub dfe3b8ac3d Merge pull request #8309 from openlayers/greenkeeper/eslint-5.0.0
Update eslint to the latest version 🚀
2018-06-24 10:58:24 -06:00
Tim Schaub 81f864bb4c Add doc for return 2018-06-24 10:08:16 -06:00
greenkeeper[bot] 6f481e0b6a chore(package): update eslint to version 5.0.0 2018-06-24 09:45:04 -06:00
Tim Schaub 2c6b3f3ae6 Merge pull request #8311 from openlayers/greenkeeper/webpack-4.12.1
Update webpack to the latest version 🚀
2018-06-24 09:44:03 -06:00
Tim Schaub 5c5dd8852c Merge pull request #8310 from openlayers/greenkeeper/rollup-0.61.2
Update rollup to the latest version 🚀
2018-06-24 09:41:23 -06:00
greenkeeper[bot] c13d6cf7bb chore(package): update webpack to version 4.12.1 2018-06-24 09:48:04 +00:00
greenkeeper[bot] 8ab81942d2 chore(package): update rollup to version 0.61.2 2018-06-23 15:09:16 +00:00
Andreas Hocevar c81ee8b92e Merge pull request #8305 from ahocevar/v5-tutorial
Update quickstart and tutorials for v5
2018-06-22 18:38:27 +02:00
ahocevar eef39d3d1d Update quickstart and tutorials for v5 2018-06-22 17:27:50 +02:00
Andreas Hocevar 5b105c5601 Merge pull request #8301 from ahocevar/imagemode-shortcut
Do not render vectors in image mode
2018-06-22 14:19:24 +02:00
Andreas Hocevar d85b7ffed7 Merge pull request #8302 from ahocevar/ignore-ol-nodemodules
Ignore node_modules everywhere
2018-06-22 14:18:19 +02:00
Andreas Hocevar 75bd4ed391 Merge pull request #8297 from openlayers/greenkeeper/rollup-0.61.1
Update rollup to the latest version 🚀
2018-06-22 13:52:02 +02:00
ahocevar cd35c6731f Ignore node_modules everywhere
This allows users to use npm link directly from src/ol, without risiking
to commit the src/ol/node_modules directory.
2018-06-22 13:43:50 +02:00
ahocevar 130c0eb436 Do not render vectors in image mode 2018-06-22 13:40:53 +02:00
Andreas Hocevar 93eca62cf2 Merge pull request #8299 from ahocevar/ol-named-exports
Make classes in ol/ available as named exports from ol
2018-06-22 13:09:12 +02:00
ahocevar 785bef7640 Also re-export non-API classes 2018-06-21 18:29:20 +02:00
ahocevar 28409486a5 Make classes in ol/ available as named exports from ol 2018-06-21 18:08:17 +02:00
Andreas Hocevar cc3dc1d681 Merge pull request #8298 from ahocevar/ol-readme
Add README for ol package
2018-06-21 14:59:04 +02:00
ahocevar 2e863b095e Add README for ol package
The links in the readme should be updated at some point.
2018-06-21 14:50:07 +02:00
greenkeeper[bot] 7ba58e011c chore(package): update rollup to version 0.61.1 2018-06-21 12:23:38 +00:00
Andreas Hocevar 15d116b3c1 Merge pull request #8295 from ahocevar/build-5
Prepare for building/publishing v5
2018-06-21 13:59:19 +02:00
Frédéric Junod 9034f721b5 Merge pull request #8296 from fredj/cleanup
Fix style documentation
2018-06-21 13:50:01 +02:00
Frederic Junod 3f55c0a985 Remove extra property in Vector and VectorTile typedef 2018-06-21 11:39:39 +02:00
Frederic Junod bb3bd7380f Fix style documentation 2018-06-21 11:32:58 +02:00
ahocevar dc514d14e9 Serve examples with webpack-dev-server 2018-06-21 11:19:18 +02:00
ahocevar 5582914ffa Add set-version task to set version from package.json 2018-06-21 11:18:52 +02:00
ahocevar 6cddd2d44a Add ol package.json 2018-06-21 11:17:26 +02:00
ahocevar 57110058fd Move css to src/ol 2018-06-21 11:16:57 +02:00
Andreas Hocevar d74c8813e1 Merge pull request #8294 from ahocevar/no-typecheck
Remove non-functional type checks from testing
2018-06-21 08:20:30 +02:00
Frédéric Junod 0a8fa8f0ed Merge pull request #8292 from fredj/cleanup
Remove now unneeded single quotes in examples
2018-06-21 08:19:53 +02:00
Frédéric Junod 2af63ad0fa Merge pull request #8291 from fredj/graticule_cleanup
Graticule code cleanup
2018-06-21 08:19:29 +02:00
ahocevar 2de37be014 Remove non-functional type checks from testing 2018-06-21 07:55:10 +02:00
Andreas Hocevar 67f06deeff Merge pull request #8293 from openlayers/greenkeeper/rollup-0.61.0
Update rollup to the latest version 🚀
2018-06-21 07:50:05 +02:00
greenkeeper[bot] b1c300629d chore(package): update rollup to version 0.61.0 2018-06-20 20:05:58 +00:00
Frederic Junod a8fa6e53ff Remove now unneeded single quotes in examples 2018-06-20 17:11:59 +02:00
Frederic Junod e91fde00c9 Better variables scoping 2018-06-20 15:51:11 +02:00
Frederic Junod 40236fbd8b Remove local variables in ol/Graticule 2018-06-20 15:51:07 +02:00
Frédéric Junod ff34bb75cd Merge pull request #8287 from fredj/rename_TileUTFGrid
Rename ol/source/TileUTFGrid to ol/source/UTFGrid
2018-06-19 15:36:06 +02:00
Frédéric Junod ea7536ea67 Merge pull request #8286 from fredj/f_4872
Fix class name property in Overlay documentation
2018-06-19 14:02:47 +02:00
Frederic Junod f257a8938f Rename ol/source/TileUTFGrid to ol/source/UTFGrid 2018-06-19 14:02:15 +02:00
Frederic Junod 26b47b7e3c Fix class name property in Overlay documentation
Fixes #4872
2018-06-19 08:55:09 +02:00
Frédéric Junod dbaf3d25fe Merge pull request #8285 from openlayers/greenkeeper/google-closure-compiler-20180610.0.2
Update google-closure-compiler to the latest version 🚀
2018-06-19 08:32:03 +02:00
greenkeeper[bot] d53e518df0 chore(package): update google-closure-compiler to version 20180610.0.2 2018-06-18 21:35:07 +00:00
Tim Schaub 64282a3531 Merge pull request #8281 from gberaudo/rename_default_data_projection
Rename default data projection
2018-06-18 12:50:17 -07:00
Frédéric Junod bf213f613c Merge pull request #8283 from fredj/rm_custom-builds_ref
Remove references to tutorials/custom-builds.html
2018-06-18 15:19:05 +02:00
Frederic Junod 39037caaf2 Remove references to tutorials/custom-builds.html 2018-06-18 15:04:06 +02:00
Guillaume Beraudo e131fe3728 Update upgrade notes 2018-06-18 14:08:56 +02:00
ThomasG77 cbaa9a7567 Rename defaultDataProjection to dataProjection #8152 2018-06-18 14:08:50 +02:00
Frédéric Junod 6c538c12f6 Merge pull request #8280 from fredj/cleanup
Add missing property in VectorTile options, remove params from createRenderer
2018-06-18 13:41:02 +02:00
Andreas Hocevar 17bfc71048 Merge pull request #8277 from ahocevar/fix-tilesource-docs
Fix code block in comment
2018-06-18 12:38:53 +02:00
Frederic Junod 1c897c33ea Remove extra parameters passed to createRenderer 2018-06-18 11:45:09 +02:00
Frederic Junod eb902974f3 Add missing properties in option typedef 2018-06-18 11:44:57 +02:00
ahocevar 4127c26ecc Fix code block in comment 2018-06-18 11:19:15 +02:00
Andreas Hocevar 6903c1a88a Merge pull request #8273 from ahocevar/rm-externs
Remove the externs/ directory
2018-06-16 00:30:08 +02:00
Andreas Hocevar 8458be2bba Merge pull request #8275 from openlayers/greenkeeper/serve-9.0.0
Update serve to the latest version 🚀
2018-06-15 21:29:26 +02:00
greenkeeper[bot] 0d5eb14529 chore(package): update serve to version 9.0.0 2018-06-15 19:18:06 +00:00
ahocevar a7c6df4d80 Remove the externs/ directory 2018-06-15 19:43:10 +02:00
Andreas Hocevar 25c3b55d8e Merge pull request #8271 from openlayers/greenkeeper/google-closure-compiler-20180610.0.1
chore(package): update google-closure-compiler to version 20180610.0.1
2018-06-14 16:39:03 +02:00
greenkeeper[bot] 7934f66c0b chore(package): update google-closure-compiler to version 20180610.0.1
Closes #8268
2018-06-14 13:44:04 +00:00
Andreas Hocevar 8980ab7b11 Merge pull request #8246 from ahocevar/movetolerance-dragging
Don't go back to not moving when dragging
2018-06-14 13:28:48 +02:00
Andreas Hocevar 9de086b561 Merge pull request #8270 from openlayers/greenkeeper/rollup-0.60.7
chore(package): update rollup to version 0.60.7
2018-06-14 13:22:57 +02:00
greenkeeper[bot] 5772504e3e chore(package): update rollup to version 0.60.7
Closes #8269
2018-06-14 07:17:50 +00:00
Tim Schaub 7c7cca4702 Merge pull request #8266 from openlayers/greenkeeper/rollup-0.60.4
chore(package): update rollup to version 0.60.4
2018-06-13 17:13:12 -06:00
greenkeeper[bot] bbd12cf897 chore(package): update rollup to version 0.60.4
Closes #8264
2018-06-13 07:39:03 +00:00
ahocevar 5080a6d401 Don't go back to not moving when dragging 2018-06-05 21:09:38 +02:00
Kevin Schmidt 791f8b9917 Don't assume fill for canvas polygon hit detection.
This brings canvas polygon hit detection in parity with WebGL, where an
unfilled polygon will not be hit detected hovering inside the polygon.

Fixes #4846
2018-02-27 13:12:46 -07:00
1140 changed files with 205867 additions and 84109 deletions
+52
View File
@@ -0,0 +1,52 @@
version: 2
jobs:
build:
docker:
- image: circleci/node:latest-browsers
working_directory: ~/repo
steps:
- checkout
- restore_cache:
keys:
- v1-dependencies-{{ checksum "package.json" }}
- v1-dependencies-
- run:
name: Install Dependencies
command: npm install
- save_cache:
paths:
- node_modules
key: v1-dependencies-{{ checksum "package.json" }}
- run:
name: Run Tests
command: npm test
- store_artifacts:
path: coverage/
destination: coverage
- store_artifacts:
path: rendering/cases/
destination: rendering
- run:
name: Build Examples
command: npm run build-examples
- store_artifacts:
path: build/examples
destination: examples
- run:
name: Build API Docs
command: npm run apidoc
- store_artifacts:
path: build/apidoc
destination: apidoc
-4
View File
@@ -11,7 +11,3 @@ insert_final_newline = true
[*.md] [*.md]
indent_size = 2 indent_size = 2
trim_trailing_whitespace = false trim_trailing_whitespace = false
[Makefile]
indent_style = tab
indent_size = 4
+8
View File
@@ -0,0 +1,8 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: openlayers
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
custom: # Replace with a single custom sponsorship URL
-8
View File
@@ -1,8 +0,0 @@
Thank you for your interest in making OpenLayers better!
To keep this project manageable for maintainers, we ask you to please check all boxes below before submitting an issue.
- [ ] I am submitting a bug or feature request, not a usage question. Go to https://stackoverflow.com/questions/tagged/openlayers for questions.
- [ ] I have searched GitHub to see if a similar bug or feature request has already been reported.
- [ ] I have verified that the issue is present in the latest version of OpenLayers (see 'LATEST' on https://openlayers.org/).
- [ ] If reporting a bug, I have created a [CodePen](https://codepen.io) or prepared a stack trace (using the latest version and unminified code, so e.g. `ol-debug.js`, not `ol.js`) that shows the issue.
+19
View File
@@ -0,0 +1,19 @@
---
name: Bug report
about: Create a report to help us improve
labels:
- bug
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
+13
View File
@@ -0,0 +1,13 @@
---
name: Feature request
about: Suggest an idea for this project
labels:
- feature request
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
+10 -5
View File
@@ -1,8 +1,13 @@
<!--
Thank you for your interest in making OpenLayers better! Thank you for your interest in making OpenLayers better!
In order to get your proposed changes merged into the master branch, we ask you to please make sure the following boxes are checked *before* submitting your pull request. Before submitting a pull request, it is best to open an issue describing the bug you are fixing or the feature you are proposing to add.
- [ ] This pull request addresses an issue that has been marked with the 'Pull request accepted' label & I have added the link to that issue. Here are some other tips that make pull requests easier to review:
- [ ] It contains one or more small, incremental, logically separate commits, with no merge commits.
- [ ] I have used clear commit messages. * Commits in the branch are small and logically separated (with no unnecessary merge commits).
- [ ] Existing tests pass for me locally & I have added or updated tests for new or changed functionality. * Commit messages are clear.
* Existing tests pass, new functionality is covered by new tests, and fixes have regression tests.
Thanks
-->
+17
View File
@@ -0,0 +1,17 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- blocker
- regression
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
+1 -2
View File
@@ -1,5 +1,4 @@
/build/ /build/
/coverage/ /coverage/
/dist/ /dist/
/node_modules/ node_modules/
src/index.js
-17
View File
@@ -1,17 +0,0 @@
language: node_js
node_js:
- '8'
cache:
directories:
- node_modules
after_success:
- cat coverage/lcov.info | coveralls
branches:
only:
- master
addons:
hosts:
- travis.dev
jwt:
# This is the encrypted SAUCE_ACCESS_KEY
secure: bb2Ibzu9RLe6ZlIG7JVcuH7IoLMxa/i3LTM7t8mbsPjVOGs5ycyJ7M9MbvqB/F2EzbeV4XB2c9ufI4TkaLYceY5kdWjfZVN8iasr+GFqKMv1uR4i6bpu8KmHJ+blxwfY1QOQ/cGwEx+fbeycMtpTc3Y3GyXaPlCQLhbZvesMg88=
+1 -1
View File
@@ -42,7 +42,7 @@ Your pull request must:
* Follow OpenLayers's coding style. * Follow OpenLayers's coding style.
* Pass the integration tests run automatically by the Travis Continuous * Pass the integration tests run automatically by the CircleCI Continuous
Integration system. Integration system.
* Address a single issue or add a single item of functionality. * Address a single issue or add a single item of functionality.
+3 -3
View File
@@ -5,9 +5,9 @@
You will obviously start by You will obviously start by
[forking](https://github.com/openlayers/openlayers/fork) the OpenLayers repository. [forking](https://github.com/openlayers/openlayers/fork) the OpenLayers repository.
### Travis CI ### CircleCI
The Travis CI hook is enabled on the Github repository. This means every pull request The CircleCI hook is enabled on the Github repository. This means every pull request
is run through a full test suite to ensure it compiles and passes the tests. Failing is run through a full test suite to ensure it compiles and passes the tests. Failing
pull requests will not be merged. pull requests will not be merged.
@@ -30,7 +30,7 @@ To run the examples you first need to start the dev server:
$ npm run serve-examples $ npm run serve-examples
Then, load <http://localhost:5000/> in your browser. Then, load <http://localhost:8080/> in your browser.
## Running tests ## Running tests
+19 -20
View File
@@ -1,26 +1,25 @@
Copyright 2005-present OpenLayers Contributors. All rights reserved. BSD 2-Clause License
Redistribution and use in source and binary forms, with or without modification, Copyright 2005-present, OpenLayers Contributors
are permitted provided that the following conditions are met: All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this 1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer. list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, 2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation and/or this list of conditions and the following disclaimer in the documentation
other materials provided with the distribution. and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY OPENLAYERS CONTRIBUTORS ``AS IS'' AND ANY EXPRESS THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The views and conclusions contained in the software and documentation are those
of the authors and should not be interpreted as representing official policies,
either expressed or implied, of OpenLayers Contributors.
-13
View File
@@ -1,13 +0,0 @@
SRC_GLSL := $(shell find src -type f -name '*.glsl')
SRC_SHADER_JS := $(patsubst %shader.glsl,%shader.js,$(SRC_GLSL))
SRC_SHADERLOCATIONS_JS := $(patsubst %shader.glsl,%shader/Locations.js,$(SRC_GLSL))
.PHONY: shaders
shaders: $(SRC_SHADER_JS) $(SRC_SHADERLOCATIONS_JS)
%shader.js: %shader.glsl src/ol/webgl/shader.mustache tasks/glslunit.js
@node tasks/glslunit.js --input $< | ./node_modules/.bin/mustache - src/ol/webgl/shader.mustache > $@
%shader/Locations.js: %shader.glsl src/ol/webgl/shaderlocations.mustache tasks/glslunit.js
@mkdir -p $(@D)
@node tasks/glslunit.js --input $< | ./node_modules/.bin/mustache - src/ol/webgl/shaderlocations.mustache > $@
+61 -13
View File
@@ -1,23 +1,69 @@
# OpenLayers # OpenLayers
[![Travis CI Status](https://secure.travis-ci.org/openlayers/openlayers.svg)](http://travis-ci.org/#!/openlayers/openlayers) [OpenLayers](https://openlayers.org/) is a high-performance, feature-packed library for creating interactive maps on the web. It can display map tiles, vector data and markers loaded from any source on any web page. OpenLayers has been developed to further the use of geographic information of all kinds. It is completely free, Open Source JavaScript, released under the [BSD 2-Clause License](https://opensource.org/licenses/BSD-2-Clause).
[![Greenkeeper badge](https://badges.greenkeeper.io/openlayers/openlayers.svg)](https://greenkeeper.io/)
[![Coverage Status](https://coveralls.io/repos/github/openlayers/openlayers/badge.svg?branch=master)](https://coveralls.io/github/openlayers/openlayers?branch=master)
[![OSGeo Project](https://img.shields.io/badge/OSGeo-Project-brightgreen.svg)](http://osgeo.org/)
[![jsDelivr Hits](https://data.jsdelivr.com/v1/package/npm/openlayers/badge?style=rounded)](https://www.jsdelivr.com/package/npm/openlayers)
[OpenLayers](https://openlayers.org/) is a high-performance, feature-packed library for creating interactive maps on the web. It can display map tiles, vector data and markers loaded from any source on any web page. OpenLayers has been developed to further the use of geographic information of all kinds. It is completely free, Open Source JavaScript, released under the 2-clause BSD License (also known as the FreeBSD).
## Getting Started ## Getting Started
Use one of the following methods to use OpenLayers in your project: Install the [`ol` package](https://www.npmjs.com/package/ol):
* For use with webpack, Rollup, Browserify, or other module bundlers, install the [`ol` package](https://www.npmjs.com/package/ol): ```
``` npm install ol
npm install ol ```
```
* If you just want to add a `<script>` tag to test things out, you can link directly to one of the full builds from [cdnjs](https://cdnjs.com/libraries/openlayers) (not recommended for production) Import just what you need for your application:
```js
import Map from 'ol/Map';
import View from 'ol/View';
import TileLayer from 'ol/layer/Tile';
import XYZ from 'ol/source/XYZ';
new Map({
target: 'map',
layers: [
new TileLayer({
source: new XYZ({
url: 'https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png'
})
})
],
view: new View({
center: [0, 0],
zoom: 2
})
});
```
See the following examples for more detail on bundling OpenLayers with your application:
* Using [Rollup](https://github.com/openlayers/ol-rollup)
* Using [Webpack](https://github.com/openlayers/ol-webpack)
* Using [Parcel](https://github.com/openlayers/ol-parcel)
* Using [Browserify](https://github.com/openlayers/ol-browserify)
## IntelliSense support and type checking for VS Code
The `ol` package contains a `src/` folder with JSDoc annotated sources. TypeScript can get type definitions from these sources with a `jsconfig.json` config file in the project root:
```js
{
"compilerOptions": {
"checkJs": true,
// Point to the JSDoc typed sources when using modules from the ol package
"baseUrl": "./",
"paths": {
"ol": ["node_modules/ol/src"],
"ol/*": ["node_modules/ol/src/*"]
}
},
"include": [
"**/*.js",
"node_modules/ol/**/*.js"
]
}
```
Project template with this configuration: https://gist.github.com/9a7253cb4712e8bf38d75d8ac898e36c.
Note that the above only works when authoring in plain JavaScript. For similar configurations with a `tsconfig.json` in TypeScript projects, your mileage may vary.
## Supported Browsers ## Supported Browsers
@@ -39,3 +85,5 @@ Please see our guide on [contributing](CONTRIBUTING.md) if you're interested in
- Need help? Find it on [Stack Overflow using the tag 'openlayers'](http://stackoverflow.com/questions/tagged/openlayers) - Need help? Find it on [Stack Overflow using the tag 'openlayers'](http://stackoverflow.com/questions/tagged/openlayers)
- Follow [@openlayers](https://twitter.com/openlayers) on Twitter - Follow [@openlayers](https://twitter.com/openlayers) on Twitter
[![CircleCI](https://circleci.com/gh/openlayers/openlayers/tree/master.svg?style=svg)](https://circleci.com/gh/openlayers/openlayers/tree/master)
+326 -2
View File
@@ -1,6 +1,307 @@
## Upgrade notes ## Upgrade notes
### Next release ### Next version
#### Backwards incompatible changes
#### Removal of `TOUCH` constant from `ol/has`
If you were previously using this constant, you can check if `'ontouchstart'` is defined in `window` instead.
```js
if ('ontouchstart' in window) {
// ...
}
```
#### Removal of `GEOLOCATION` constant from `ol/has`
If you were previously using this constant, you can check if `'geolocation'` is defined in `navigator` instead.
```js
if ('geolocation' in navigator) {
// ...
}
```
#### Removal of CSS print rules
The CSS media print rules were removed from the `ol.css` file. To get the previous behavior, use the following CSS:
```css
@media print {
.ol-control {
display: none;
}
}
```
#### Removal of optional this arguments
The optional this (i.e. opt_this) arguments were removed from the following methods.
Please use closures, the es6 arrow function or the bind method to achieve this effect (Bind is explained here:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).
* `forEachCorner` in `ol/extent`
* `LRUCache#forEach`
* `RBush#forEach` and `RBush#forEachInExtent`
##### The `setCenter`, `setZoom`, `setResolution` and `setRotation` methods on `ol/View` do not bypass constraints anymore
Previously, these methods allowed setting values that were inconsistent with the given view constraints.
This is no longer the case and all changes to the view state now follow the same logic:
target values are provided and constraints are applied on these to determine the actual values to be used.
##### Removal of the `constrainResolution` option on `View.fit`, `PinchZoom`, `MouseWheelZoom` and `ol/interaction.js`
The `constrainResolution` option is now only supported by the `View` class. A `View.setConstrainResolution` method was added as well.
Generally, the responsibility of applying center/rotation/resolutions constraints was moved from interactions and controls to the `View` class.
##### The view `extent` option now applies to the whole viewport
Previously, this options only constrained the view *center*. This behaviour can still be obtained by specifying `constrainCenterOnly` in the view options.
As a side effect, the view `rotate` method is gone and has been replaced with `adjustRotation` which takes a delta as input.
##### The view is constrained so only one world is visible
Previously, maps showed multiple worlds at low zoom levels. In addition, it used to be possible to pan off the north or south edge of the world. Now, the view is restricted to show only one world, and you cannot pan off the edge. To get the previous behavior, configure the `ol/View` with `multiWorld: true`.
##### Removal of deprecated methods
The `inherits` function that was used to inherit the prototype methods from one constructor into another has been removed.
The standard ECMAScript classes should be used instead.
The deprecated `getSnapToPixel` and `setSnapToPixel` functions from the `ImageStyle` class have been removed.
##### New internal tile coordinates
Previously, the internal tile coordinates used in the library had an unusual row order the origin of the tile coordinate system was at the top left as expected, but the rows increased upwards. This meant that all tile coordinates within a tile grid's extent had negative `y` values.
Now, the internal tile coordinates used in the library have the same row order as standard (e.g. XYZ) tile coordinates. The origin is at the top left (as before), and rows or `y` values increase downward. So the top left tile of a tile grid is now `0, 0`, whereas it was `0, -1` before.
```
x, y values for tile coordinates
origin
*__________________________
| | | |
| 0, 0 | 1, 0 | 2, 0 |
|________|________|________|
| | | |
| 0, 1 | 1, 1 | 2, 1 |
|________|________|________|
| | | |
| 0, 2 | 1, 2 | 2, 2 |
|________|________|________|
```
This change should only affect you if you were using a custom `tileLoadFunction` or `tileUrlFunction`. For example, if you used to have a `tileUrlFunction` that looked like this:
```js
// before
function tileUrlFunction(tileCoord) {
const z = tileCoord[0];
const x = tileCoord[1];
const y = -tileCoord[2] - 1;
// do something with z, x, y
}
```
You would now do something like this:
```js
// after
function tileUrlFunction(tileCoord) {
const z = tileCoord[0];
const x = tileCoord[1];
const y = tileCoord[2];
// do something with z, x, y
}
```
In addition (this should be exceedingly rare), if you previously created a `ol/tilegrid/WMTS` by hand and you were providing an array of `sizes`, you no longer have to provide a negative height if your tile origin is the top-left corner (the common case). On the other hand, if you are providing a custom array of `sizes` and your origin is the bottom of the grid (this is uncommon), your height values must now be negative.
##### Removal of the "vector" render mode for vector tile layers
If you were previously using `VectorTile` layers with `renderMode: 'vector'`, you have to remove this configuration option. That mode was removed. `'hybrid'` (default) and `'image'` are still available.
##### Removal of the "renderMode" option for vector layers
If you were previously using `Vector` layers with `renderMode: 'image'`, you have to remove this configuration option. Instead, use the new `ol/layer/VectorImage` layer with your `ol/source/Vector`.
##### New declutter behavior
If a map has more than one layer with `declutter` set to true, decluttering now considers all `Vector` and `VectorTile` layers, instead of decluttering each layer separately. Only `VectorImage` layers continue to be decluttered separately. The higher the z-index of a layer, the higher the priority of its decluttered items.
Within a layer, the declutter order has changed. Previously, styles with a lower `zIndex` were prioritized over those with a higher `zIndex`. Now the opposite order is used.
On vector layers, even if decluttered images or texts have a lower z-Index than polygons or lines, they will now be rendered on top of the polygons or lines. For vector tile layers, this was the case already in previous releases.
##### New `prerender` and `postrender` layer events replace old `precompose`, `render` and `postcompose` events
If you were previously registering for `precompose` and `postcompose` events, you should now register for `prerender` and `postrender` events on layers. Instead of the previous `render` event, you should now listen for `postrender`. Layers are no longer composed to a single Canvas element. Instead, they are added to the map viewport as individual elements.
##### New `getVectorContext` function provides access to the immediate vector rendering API
Previously, render events included a `vectorContext` property that allowed you to render features or geometries directly to the map. This is still possible, but you now have to explicitly create a vector context with the `getVectorContext` function. This change makes the immediate rendering API an explicit dependency if your application uses it. If you don't use this API, your application bundle will not include the vector rendering modules (as it did before).
Here is an abbreviated example of how to use the `getVectorContext` function:
```js
import {getVectorContext} from 'ol/render';
// construct your map and layers as usual
layer.on('postrender', function(event) {
const vectorContext = getVectorContext(event);
// use any of the drawing methods on the vector context
});
```
##### Layers can only be added to a single map
Previously, it was possible to render a single layer in two maps. Now, each layer can only belong to a single map (in the same way that a single DOM element can only have one parent).
##### The `OverviewMap` requires a list of layers.
Due to the constraint above (layers can only be added to a single map), the overview map needs to be constructed with a list of layers.
##### The `ol/Graticule` has been replaced by `ol/layer/Graticule`
Previously, a graticule was not a layer. Now it is. See the graticule example for details on how to add a graticule layer to your map.
##### `ol/format/Feature` API change
The `getLastExtent()` method, which was required for custom `tileLoadFunction`s in `ol/source/Vector`, has been removed because it is no longer needed (see below).
##### `ol/VectorTile` API changes
* Removal of the `getProjection()` and `setProjection()` methods. These were used in custom `tileLoadFunction`s on `ol/source/VectorTile`, which work differently now (see below).
* Removal of the `getExtent()` and `setExtent()` methods. These were used in custom `tileLoadFunction`s on `ol/source/VectorTile`, which work differently now (see below).
##### Custom tileLoadFunction on a VectorTile source needs changes
Previously, applications needed to call `setProjection()` and `setExtent()` on the tile in a custom `tileLoadFunction` on `ol/source/VectorTile`. The format's `getLastExtent()` method was used to get the extent. All this is no longer needed. Instead, the `extent` (first argument to the loader function) and `projection` (third argument to the loader function) are simply passed as `extent` and `featureProjection` options to the format's `readFeatures()` method.
Example for an old `tileLoadFunction`:
```js
function(tile, url) {
tile.setLoader(function() {
fetch(url).then(function(response) {
response.arrayBuffer().then(function(data) {
var format = tile.getFormat();
tile.setProjection(format.readProjection(data));
tile.setFeatures(format.readFeatures(data, {
// featureProjection is not required for ol/format/MVT
featureProjection: map.getView().getProjection()
}));
tile.setExtent(format.getLastExtent());
})
})
}
});
```
This function needs to be changed to:
```js
function(tile, url) {
tile.setLoader(function(extent, resolution, projection) {
fetch(url).then(function(response) {
response.arrayBuffer().then(function(data) {
var format = tile.getFormat();
tile.setFeatures(format.readFeatures(data, {
// extent is only required for ol/format/MVT
extent: extent,
featureProjection: projection
}));
})
})
}
});
```
##### Drop of support for the experimental WebGL renderer
The WebGL map and layers renderers are gone, replaced by a `WebGLHelper` function that provides a lightweight,
low-level access to the WebGL API. This is implemented in a new `WebGLPointsLayer` which does simple rendering of large number
of points with custom shaders.
This is now used in the `Heatmap` layer.
The removed classes and components are:
* `WebGLMap` and `WebGLMapRenderer`
* `WebGLLayerRenderer`
* `WebGLImageLayer` and `WebGLImageLayerRenderer`
* `WebGLTileLayer` and `WebGLTileLayerRenderer`
* `WebGLVectorLayer` and `WebGLVectorLayerRenderer`
* `WebGLReplay` and derived classes, along with associated shaders
* `WebGLReplayGroup`
* `WebGLImmediateRenderer`
* `WebGLMap`
* The shader build process using `mustache` and the `Makefile` at the root
##### Removal of the AtlasManager
Following the removal of the experimental WebGL renderer, the AtlasManager has been removed as well. The atlas was only used by this renderer.
The non API `getChecksum` functions of the style is also removed.
##### Change of the behavior of the vector source's clear() and refresh() methods
The `ol/source/Vector#clear()` method no longer triggers a reload of the data from the server. If you were previously using `clear()` to refetch from the server, you now have to use `refresh()`.
The `ol/source/Vector#refresh()` method now removes all features from the source and triggers a reload of the data from the server. If you were previously using the `refresh()` method to re-render a vector layer, you should instead call `ol/layer/Vector#changed()`.
#### Other changes
##### Allow declutter in image render mode
It is now possible to configure vector tile layers with `declutter: true` and `renderMode: 'image'`. However, note that decluttering will be done per tile, resulting in labels and point symbols getting cut off at tile boundaries.
Until now, using both options forced the render mode to be `hybrid`.
##### Always load tiles while animating or interacting
`ol/PluggableMap` and subclasses no longer support the `loadTilesWhileAnimating` and `loadTilesWhileInteracting` options. These options were used to enable tile loading during animations and interactions. With the new DOM composition render strategy, it is no longer necessary to postpone tile loading until after animations or interactions.
### v5.3.0
#### The `getUid` function returns string
The `getUid` function from the `ol/util` module now returns a string instead of a number.
#### Attributions are not collapsible for `ol/source/OSM`
When a map contains a layer from a `ol/source/OSM` source, the `ol/control/Attribution` control will be shown with the `collapsible: false` behavior.
To get the previous behavior, configure the `ol/control/Attribution` control with `collapsible: true`.
### v5.2.0
#### Removal of the `snapToPixel` option for `ol/style/Image` subclasses
The `snapToPixel` option has been removed, and the `getSnapToPixel` and `setSnapToPixel` methods are deprecated.
The renderer now snaps to integer pixels when no interaction or animation is running to get crisp rendering. During interaction or animation, it does not snap to integer pixels to avoid jitter.
When rendering with the Immediate API, symbols will no longer be snapped to integer pixels. To get crisp images, set `context.imageSmoothingEnabled = false` before rendering with the Immediate API, and `context.imageSmoothingEnabled = true` afterwards.
### v5.1.0
#### Geometry constructor and `setCoordinates` no longer accept `null` coordinates
Geometries (`ol/geom/*`) now need to be constructed with valid coordinates (center for `ol/geom/Circle`) as first constructor argument. The same applies to the `setCoordinates()` (`setCenter()` for `ol/geom/Circle`) method.
### v5.0.0
#### Renamed `ol/source/TileUTFGrid` to `ol/source/UTFGrid`
The module name is now `ol/source/UTFGrid` (`ol.source.UTFGrid` in the full build).
#### Renaming of the `defaultDataProjection` in the options and property of the `ol/format/Feature` class and its subclasses
The `defaultDataProjection` option is now named `dataProjection`. The protected property available on the class is also renamed.
#### `transition` option of `ol/source/VectorTile` is ignored #### `transition` option of `ol/source/VectorTile` is ignored
@@ -151,14 +452,37 @@ var poly = circularPolygon(center, radius);
#### Removal of optional this arguments. #### Removal of optional this arguments.
The following methods did get the optional this (i.e. opt_this) arguments removed. Please use closures, the es6 arrow function or the bind method to achieve this effect (Bind is explained here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind). The optional this (i.e. opt_this) arguments were removed from the following methods. Please use closures, the es6 arrow function or the bind method to achieve this effect (Bind is explained here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).
* Collection#forEach * Collection#forEach
* geom/LineString#forEachSegment * geom/LineString#forEachSegment
* Observable#on, #once, #un * Observable#on, #once, #un
* Map#forEachLayerAtPixel
* source/TileUTFGrid#forDataAtCoordinateAndResolution * source/TileUTFGrid#forDataAtCoordinateAndResolution
* source/Vector#forEachFeature, #forEachFeatureInExtent, #forEachFeatureIntersectingExtent * source/Vector#forEachFeature, #forEachFeatureInExtent, #forEachFeatureIntersectingExtent
#### `Map#forEachLayerAtPixel` parameters have changed
If you are using the layer filter, please note that you now have to pass in the layer filter via an `AtPixelOptions` object. If you are not using the layer filter the usage has not changed.
Old syntax:
```
map.forEachLayerAtPixel(pixel, callback, callbackThis, layerFilterFn, layerFilterThis);
```
New syntax:
```
map.forEachLayerAtPixel(pixel, callback, {
layerFilter: layerFilterFn
});
```
To bind a function to a this, please use the bind method of the function (See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).
This change is due to the introduction of the `hitTolerance` parameter which can be passed in via this `AtPixelOptions` object, too.
### v4.6.0 ### v4.6.0
#### Renamed `exceedLength` option of `ol.style.Text` to `overflow` #### Renamed `exceedLength` option of `ol.style.Text` to `overflow`
+667
View File
@@ -0,0 +1,667 @@
# v5.0.0
The main theme of the v5.0.0 release is an improved developer/user experience with OpenLayers. Toward this end, we have reworked the library as a set of ES Modules, completely removing any dependency on the Closure Compiler, and improving compatibility with mainstream module bundlers.
See the [hosted examples](https://openlayers.org/en/latest/examples/), [API docs](https://openlayers.org/en/latest/apidoc/), and [bundle tutorial](https://openlayers.org/en/latest/doc/tutorials/bundle.html) for the new syntax, but basic usage looks like this:
```js
import 'ol/ol.css';
import {Map, View} from 'ol';
import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM';
const map = new Map({
target: 'map',
layers: [
new TileLayer({
source: new OSM()
})
],
view: new View({
center: [0, 0],
zoom: 0
})
});
```
See below for specific notes on upgrading from 4.x releases. We'll be working on updating the website with improved documentation and examples. Take a look at the issue tracker if you're interested in contributing.
### Upgrade Notes
#### Renamed `ol/source/TileUTFGrid` to `ol/source/UTFGrid`
The module name is now `ol/source/UTFGrid` (`ol.source.UTFGrid` in the full build).
#### Renaming of the `defaultDataProjection` in the options and property of the `ol/format/Feature` class and its subclasses
The `defaultDataProjection` option is now named `dataProjection`. The protected property available on the class is also renamed.
#### `transition` option of `ol/source/VectorTile` is ignored
The `transition` option to get an opacity transition to fade in tiles has been disabled for `ol/source/VectorTile`. Vector tiles are now always rendered without an opacity transition.
#### `ol/style/Fill` with `CanvasGradient` or `CanvasPattern`
The origin for gradients and patterns has changed from the top-left corner of the extent of the geometry being filled to 512 css pixel increments from map coordinate `[0, 0]`. This allows repeat patterns to be aligned properly with vector tiles. For seamless repeat patterns, width and height of the pattern image must be a factor of two (2, 4, 8, ..., 512).
#### Removal of the renderer option for maps
The `renderer` option has been removed from the `Map` constructor. The purpose of this change is to avoid bundling code in your application that you do not need. Previously, code for both the Canvas and WebGL renderers was included in all applications - even though most people only use one renderer. The `Map` constructor now gives you a Canvas (2D) based renderer. If you want to try the WebGL renderer, you can import the constructor from `ol/WebGLMap`.
Old code:
```js
import Map from 'ol/Map';
const canvasMap = new Map({
renderer: ['canvas']
// other options...
});
const webglMap = new Map({
renderer: ['webgl']
// other options...
});
```
New code:
```js
import Map from 'ol/Map';
import WebGLMap from 'ol/WebGLMap';
const canvasMap = new Map({
// options...
});
const webglMap = new WebGLMap({
// options...
});
```
#### Removal of ol.FeatureStyleFunction
The signature of the vector style function passed to the feature has changed. The function now always takes the `feature` and the `resolution` as arguments, the `feature` is no longer bound to `this`.
Old code:
```js
feature.setStyle(function(resolution) {
var text = this.get('name');
...
});
```
New code:
```js
feature.setStyle(function(feature, resolution) {
var text = feature.get('name');
...
});
```
#### Changed behavior of the `Draw` interaction
For better drawing experience, two changes were made to the behavior of the Draw interaction:
1. On long press, the current vertex can be dragged to its desired position.
2. On touch move (e.g. when panning the map on a mobile device), no draw cursor is shown, and the geometry being drawn is not updated. But because of 1., the draw cursor will appear on long press. Mouse moves are not affected by this change.
#### Changes in proj4 integration
Because relying on a globally available proj4 is not practical with ES modules, we have made a change to the way we integrate proj4:
* The `setProj4()` function from the `ol/proj` module was removed.
* A new `ol/proj/proj4` module with a `register()` function was added. Regardless of whether the application imports `proj4` or uses a global `proj4`, this function needs to be called with the proj4 instance as argument whenever projection definitions were added to proj4's registry with (`proj4.defs`).
It is also recommended to no longer use a global `proj4`. Instead,
npm install proj4
and import it:
```js
import proj4 from 'proj4';
```
Applications can be updated by importing the `register` function from the `ol/proj/proj4` module
```js
import {register} from 'ol/proj/proj4'
```
and calling it before using projections, and any time the proj4 registry was changed by `proj4.defs()` calls:
```js
register(proj4);
```
#### Removal of logos
The map and sources no longer accept a `logo` option. Instead, if you wish to append a logo to your map, add the desired markup directly in your HTML. In addition, you can use the `attributions` property of a source to display arbitrary markup per-source with the attribution control.
#### Replacement of `ol/Sphere` constructor with `ol/sphere` functions
The `ol/Sphere` constructor has been removed. If you were using the `getGeodesicArea` method, use the `getArea` function instead. If you were using the `haversineDistance` method, use the `getDistance` function instead.
Examples before:
```js
// using ol@4
import Sphere from 'ol/sphere';
var sphere = new Sphere(Sphere.DEFAULT_RADIUS);
var area = sphere.getGeodesicArea(polygon);
var distance = sphere.haversineDistance(g1, g2);
```
Examples after:
```js
// using ol@5
import {circular as circularPolygon} from 'ol/geom/Polygon';
import {getArea, getDistance} from 'ol/sphere';
var area = getArea(polygon);
var distance = getDistance(g1, g2);
var circle = circularPolygon(center, radius);
```
#### New signature for the `circular` function for creating polygons
The `circular` function exported from `ol/geom/Polygon` no longer requires a `Sphere` as the first argument.
Example before:
```js
// using ol@4
import Polygon from 'ol/geom/polygon';
import Sphere from 'ol/sphere';
var poly = Polygon.circular(new Sphere(Sphere.DEFAULT_RADIUS), center, radius);
```
Example after:
```js
// using ol@5
import {circular as circularPolygon} from 'ol/geom/Polygon';
var poly = circularPolygon(center, radius);
```
#### Removal of optional this arguments.
The optional this (i.e. opt_this) arguments were removed from the following methods. Please use closures, the es6 arrow function or the bind method to achieve this effect (Bind is explained here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).
* Collection#forEach
* geom/LineString#forEachSegment
* Observable#on, #once, #un
* Map#forEachLayerAtPixel
* source/TileUTFGrid#forDataAtCoordinateAndResolution
* source/Vector#forEachFeature, #forEachFeatureInExtent, #forEachFeatureIntersectingExtent
#### `Map#forEachLayerAtPixel` parameters have changed
If you are using the layer filter, please note that you now have to pass in the layer filter via an `AtPixelOptions` object. If you are not using the layer filter the usage has not changed.
Old syntax:
```
map.forEachLayerAtPixel(pixel, callback, callbackThis, layerFilterFn, layerFilterThis);
```
New syntax:
```
map.forEachLayerAtPixel(pixel, callback, {
layerFilter: layerFilterFn
});
```
To bind a function to a this, please use the bind method of the function (See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).
This change is due to the introduction of the `hitTolerance` parameter which can be passed in via this `AtPixelOptions` object, too.
### New Features and Fixes
* [#8314](https://github.com/openlayers/openlayers/pull/8314) - Accept hitTolerance in map.forEachLayerAtPixel() ([@simonseyock](https://github.com/simonseyock))
* [#7750](https://github.com/openlayers/openlayers/pull/7750) - Don't assume fill for canvas polygon hit detection. ([@schmidtk](https://github.com/schmidtk))
* [#8305](https://github.com/openlayers/openlayers/pull/8305) - Update quickstart and tutorials for v5 ([@ahocevar](https://github.com/ahocevar))
* [#8301](https://github.com/openlayers/openlayers/pull/8301) - Do not render vectors in image mode ([@ahocevar](https://github.com/ahocevar))
* [#8302](https://github.com/openlayers/openlayers/pull/8302) - Ignore node_modules everywhere ([@ahocevar](https://github.com/ahocevar))
* [#8299](https://github.com/openlayers/openlayers/pull/8299) - Make classes in ol/ available as named exports from ol ([@ahocevar](https://github.com/ahocevar))
* [#8298](https://github.com/openlayers/openlayers/pull/8298) - Add README for ol package ([@ahocevar](https://github.com/ahocevar))
* [#8295](https://github.com/openlayers/openlayers/pull/8295) - Prepare for building/publishing v5 ([@ahocevar](https://github.com/ahocevar))
* [#8296](https://github.com/openlayers/openlayers/pull/8296) - Fix style documentation ([@fredj](https://github.com/fredj))
* [#8294](https://github.com/openlayers/openlayers/pull/8294) - Remove non-functional type checks from testing ([@ahocevar](https://github.com/ahocevar))
* [#8292](https://github.com/openlayers/openlayers/pull/8292) - Remove now unneeded single quotes in examples ([@fredj](https://github.com/fredj))
* [#8291](https://github.com/openlayers/openlayers/pull/8291) - Graticule code cleanup ([@fredj](https://github.com/fredj))
* [#8287](https://github.com/openlayers/openlayers/pull/8287) - Rename ol/source/TileUTFGrid to ol/source/UTFGrid ([@fredj](https://github.com/fredj))
* [#8286](https://github.com/openlayers/openlayers/pull/8286) - Fix class name property in Overlay documentation ([@fredj](https://github.com/fredj))
* [#8281](https://github.com/openlayers/openlayers/pull/8281) - Rename default data projection ([@gberaudo](https://github.com/gberaudo))
* [#8283](https://github.com/openlayers/openlayers/pull/8283) - Remove references to tutorials/custom-builds.html ([@fredj](https://github.com/fredj))
* [#8280](https://github.com/openlayers/openlayers/pull/8280) - Add missing property in VectorTile options, remove params from createRenderer ([@fredj](https://github.com/fredj))
* [#8277](https://github.com/openlayers/openlayers/pull/8277) - Fix code block in comment ([@ahocevar](https://github.com/ahocevar))
* [#8273](https://github.com/openlayers/openlayers/pull/8273) - Remove the externs/ directory ([@ahocevar](https://github.com/ahocevar))
* [#8246](https://github.com/openlayers/openlayers/pull/8246) - Don't go back to not moving when dragging ([@ahocevar](https://github.com/ahocevar))
* [#8258](https://github.com/openlayers/openlayers/pull/8258) - Use Webpack 4 for tests (and examples) ([@ahocevar](https://github.com/ahocevar))
* [#8250](https://github.com/openlayers/openlayers/pull/8250) - Fix various jsdoc types ([@fredj](https://github.com/fredj))
* [#8245](https://github.com/openlayers/openlayers/pull/8245) - Fix vector tile docs and types ([@ahocevar](https://github.com/ahocevar))
* [#8233](https://github.com/openlayers/openlayers/pull/8233) - Use rollup instead of webpack for the full build ([@ahocevar](https://github.com/ahocevar))
* [#8231](https://github.com/openlayers/openlayers/pull/8231) - Fix JSTS usage with OL classes injected ([@bjornharrtell](https://github.com/bjornharrtell))
* [#8229](https://github.com/openlayers/openlayers/pull/8229) - Support layers instead of renderers for ol/source/Raster ([@ahocevar](https://github.com/ahocevar))
* [#8227](https://github.com/openlayers/openlayers/pull/8227) - Better vectortile experience ([@ahocevar](https://github.com/ahocevar))
* [#8225](https://github.com/openlayers/openlayers/pull/8225) - renderMode: 'image' fixes for ol/layer/Vector ([@ahocevar](https://github.com/ahocevar))
* [#8226](https://github.com/openlayers/openlayers/pull/8226) - Accept renderers as sources for the Raster source ([@ahocevar](https://github.com/ahocevar))
* [#8210](https://github.com/openlayers/openlayers/pull/8210) - Align patterns and gradients to a grid ([@ahocevar](https://github.com/ahocevar))
* [#8201](https://github.com/openlayers/openlayers/pull/8201) - Remove babelrc, transform using babel-core ([@ahocevar](https://github.com/ahocevar))
* [#8203](https://github.com/openlayers/openlayers/pull/8203) - Type checking complete ([@ahocevar](https://github.com/ahocevar))
* [#8204](https://github.com/openlayers/openlayers/pull/8204) - Document ol/control~defaults in the right place ([@ahocevar](https://github.com/ahocevar))
* [#8200](https://github.com/openlayers/openlayers/pull/8200) - Set textAlign to the canvas context ([@fredj](https://github.com/fredj))
* [#8194](https://github.com/openlayers/openlayers/pull/8194) - miscellaneous code cleanup ([@fredj](https://github.com/fredj))
* [#8189](https://github.com/openlayers/openlayers/pull/8189) - More apidoc fixes ([@ahocevar](https://github.com/ahocevar))
* [#8191](https://github.com/openlayers/openlayers/pull/8191) - Do not scale text outline width ([@ahocevar](https://github.com/ahocevar))
* [#8187](https://github.com/openlayers/openlayers/pull/8187) - Hide attribution control if there are no attributions ([@tschaub](https://github.com/tschaub))
* [#8186](https://github.com/openlayers/openlayers/pull/8186) - Updates to get the examples building ([@tschaub](https://github.com/tschaub))
* [#8180](https://github.com/openlayers/openlayers/pull/8180) - Fix some JSDoc issues ([@ahocevar](https://github.com/ahocevar))
* [#8175](https://github.com/openlayers/openlayers/pull/8175) - More typing fixes ([@fredj](https://github.com/fredj))
* [#8177](https://github.com/openlayers/openlayers/pull/8177) - Remove documentation related to the closure compiler ([@gberaudo](https://github.com/gberaudo))
* [#8174](https://github.com/openlayers/openlayers/pull/8174) - Fix typo in ol/style/Image~Options typedef ([@fredj](https://github.com/fredj))
* [#8172](https://github.com/openlayers/openlayers/pull/8172) - Ignore 'this' type in function typedef ([@fredj](https://github.com/fredj))
* [#8173](https://github.com/openlayers/openlayers/pull/8173) - Fix typing in ol/xml module ([@fredj](https://github.com/fredj))
* [#8169](https://github.com/openlayers/openlayers/pull/8169) - Shorter module paths for default exports ([@fredj](https://github.com/fredj))
* [#8171](https://github.com/openlayers/openlayers/pull/8171) - Remove wrong override tags ([@fredj](https://github.com/fredj))
* [#8170](https://github.com/openlayers/openlayers/pull/8170) - Basic apidocs ([@ahocevar](https://github.com/ahocevar))
* [#8167](https://github.com/openlayers/openlayers/pull/8167) - Remove externs/oli.js ([@tschaub](https://github.com/tschaub))
* [#8166](https://github.com/openlayers/openlayers/pull/8166) - Updated type annotations ([@tschaub](https://github.com/tschaub))
* [#8165](https://github.com/openlayers/openlayers/pull/8165) - Update linter config ([@tschaub](https://github.com/tschaub))
* [#8163](https://github.com/openlayers/openlayers/pull/8163) - Fix type syntax ([@ahocevar](https://github.com/ahocevar))
* [#8161](https://github.com/openlayers/openlayers/pull/8161) - Fix skipping of texts with background ([@ahocevar](https://github.com/ahocevar))
* [#8156](https://github.com/openlayers/openlayers/pull/8156) - fix assert 36 on error documentation #8147 ([@mainakae](https://github.com/mainakae))
* [#8143](https://github.com/openlayers/openlayers/pull/8143) - Shorter module paths for default exports ([@openlayers](https://github.com/openlayers))
* [#8137](https://github.com/openlayers/openlayers/pull/8137) - Avoid `this` at top level of modules ([@tschaub](https://github.com/tschaub))
* [#8138](https://github.com/openlayers/openlayers/pull/8138) - Update tasks to use native async/await ([@tschaub](https://github.com/tschaub))
* [#8139](https://github.com/openlayers/openlayers/pull/8139) - Add @module annotation for ol/control/util ([@tschaub](https://github.com/tschaub))
* [#8135](https://github.com/openlayers/openlayers/pull/8135) - Break the circular dependency: overview map, map, controls, overview map ([@tschaub](https://github.com/tschaub))
* [#8132](https://github.com/openlayers/openlayers/pull/8132) - Add minZoom to the createResolutionConstraint function return type ([@fredj](https://github.com/fredj))
* [#8129](https://github.com/openlayers/openlayers/pull/8129) - Fix some types ([@ahocevar](https://github.com/ahocevar))
* [#8127](https://github.com/openlayers/openlayers/pull/8127) - Move RasterOperationType into ol/source/Raster ([@fredj](https://github.com/fredj))
* [#8123](https://github.com/openlayers/openlayers/pull/8123) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#8125](https://github.com/openlayers/openlayers/pull/8125) - Shorter module paths for default exports ([@ahocevar](https://github.com/ahocevar))
* [#8122](https://github.com/openlayers/openlayers/pull/8122) - Remove unused 'format' options from Cluster source constructor ([@fredj](https://github.com/fredj))
* [#8121](https://github.com/openlayers/openlayers/pull/8121) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#8117](https://github.com/openlayers/openlayers/pull/8117) - Re-export style constructors from ol/style ([@tschaub](https://github.com/tschaub))
* [#8115](https://github.com/openlayers/openlayers/pull/8115) - Re-export layer constructors from ol/layer ([@tschaub](https://github.com/tschaub))
* [#8114](https://github.com/openlayers/openlayers/pull/8114) - Re-export interaction constructors from ol/interaction ([@tschaub](https://github.com/tschaub))
* [#8116](https://github.com/openlayers/openlayers/pull/8116) - Re-export source constructors from ol/source ([@tschaub](https://github.com/tschaub))
* [#8113](https://github.com/openlayers/openlayers/pull/8113) - Re-export geometry constructors from ol/geom ([@tschaub](https://github.com/tschaub))
* [#8112](https://github.com/openlayers/openlayers/pull/8112) - Re-export format constructors from ol/format ([@tschaub](https://github.com/tschaub))
* [#8111](https://github.com/openlayers/openlayers/pull/8111) - Re-export control constructors ([@tschaub](https://github.com/tschaub))
* [#8118](https://github.com/openlayers/openlayers/pull/8118) - Use list for cloak entries ([@tschaub](https://github.com/tschaub))
* [#8109](https://github.com/openlayers/openlayers/pull/8109) - Make any falsey undefinedHTML retain the mouse position ([@tschaub](https://github.com/tschaub))
* [#8103](https://github.com/openlayers/openlayers/pull/8103) - Fix some jsdoc path types ([@ahocevar](https://github.com/ahocevar))
* [#7784](https://github.com/openlayers/openlayers/pull/7784) - Adds option to retain MousePosition when pointer leaves viewport ([@pedros007](https://github.com/pedros007))
* [#8101](https://github.com/openlayers/openlayers/pull/8101) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#7908](https://github.com/openlayers/openlayers/pull/7908) - ScaleLine fix for non-degree based units ([@hyperknot](https://github.com/hyperknot))
* [#8099](https://github.com/openlayers/openlayers/pull/8099) - More Jsdoc module fixes ([@openlayers](https://github.com/openlayers))
* [#8098](https://github.com/openlayers/openlayers/pull/8098) - Remove externs/olx.js and src/ol/typedefs.js ([@tschaub](https://github.com/tschaub))
* [#8096](https://github.com/openlayers/openlayers/pull/8096) - Fix rotation default ([@ahocevar](https://github.com/ahocevar))
* [#8081](https://github.com/openlayers/openlayers/pull/8081) - Move olx.render.* and related typedefs to ol/render/* ([@pfirpfel](https://github.com/pfirpfel))
* [#8087](https://github.com/openlayers/openlayers/pull/8087) - Move various typedefs out of typdefs.js ([@pfirpfel](https://github.com/pfirpfel))
* [#8052](https://github.com/openlayers/openlayers/pull/8052) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#8048](https://github.com/openlayers/openlayers/pull/8048) - Remove all comments from shaders ([@fredj](https://github.com/fredj))
* [#8089](https://github.com/openlayers/openlayers/pull/8089) - Allow unprefixed WMTS tileMatrix identifiers ([@fredj](https://github.com/fredj))
* [#8088](https://github.com/openlayers/openlayers/pull/8088) - Correct type for TextPlacement (jsdoc) ([@camptocamp](https://github.com/camptocamp))
* [#8083](https://github.com/openlayers/openlayers/pull/8083) - Move structs typedefs to ol/structs/* ([@pfirpfel](https://github.com/pfirpfel))
* [#8077](https://github.com/openlayers/openlayers/pull/8077) - Add hasFeature method to ol.source.Vector ([@icholy](https://github.com/icholy))
* [#8080](https://github.com/openlayers/openlayers/pull/8080) - #8079 Mark functions setRotateWithView and setSnapToPixel of ol/style/Image with @api ([@iagafonov](https://github.com/iagafonov))
* [#8084](https://github.com/openlayers/openlayers/pull/8084) - Move ol.Reproj* typedefs to ol/reproj ([@pfirpfel](https://github.com/pfirpfel))
* [#8082](https://github.com/openlayers/openlayers/pull/8082) - Remove unused typedefs ([@pfirpfel](https://github.com/pfirpfel))
* [#8076](https://github.com/openlayers/openlayers/pull/8076) - Move olx.style.* and ol.Style* to ol/style/* ([@pfirpfel](https://github.com/pfirpfel))
* [#8075](https://github.com/openlayers/openlayers/pull/8075) - Move olx.tilegrid.* to ol/tilegrid/* ([@pfirpfel](https://github.com/pfirpfel))
* [#8073](https://github.com/openlayers/openlayers/pull/8073) - Remove dependency on deprecated sinon@5 ([@tschaub](https://github.com/tschaub))
* [#7994](https://github.com/openlayers/openlayers/pull/7994) - Explicit renderer dependencies ([@tschaub](https://github.com/tschaub))
* [#7863](https://github.com/openlayers/openlayers/pull/7863) - Add note about null geom in VectorSource.forEachFeature ([@fredj](https://github.com/fredj))
* [#8055](https://github.com/openlayers/openlayers/pull/8055) - Mark optional property with square brackets ([@fredj](https://github.com/fredj))
* [#8054](https://github.com/openlayers/openlayers/pull/8054) - Generate correct includes list for `build-index` script on windows hosts. ([@lilliputten](https://github.com/lilliputten))
* [#8053](https://github.com/openlayers/openlayers/pull/8053) - Don't import from 'functions' multiple times ([@fredj](https://github.com/fredj))
* [#8041](https://github.com/openlayers/openlayers/pull/8041) - Remove olx typedefs ol/source ([@fgravin](https://github.com/fgravin))
* [#8026](https://github.com/openlayers/openlayers/pull/8026) - [doc] dispatchChangeEvent -> changed ([@nyurik](https://github.com/nyurik))
* [#8003](https://github.com/openlayers/openlayers/pull/8003) - Add an example showing Chaikins smoothing algorithm ([@marcjansen](https://github.com/marcjansen))
* [#8044](https://github.com/openlayers/openlayers/pull/8044) - Rename constructor options typedef to 'Options' ([@fredj](https://github.com/fredj))
* [#8042](https://github.com/openlayers/openlayers/pull/8042) - Only process loaded tiles ([@ahocevar](https://github.com/ahocevar))
* [#8036](https://github.com/openlayers/openlayers/pull/8036) - Move the temporary arrays to the module level ([@fredj](https://github.com/fredj))
* [#8032](https://github.com/openlayers/openlayers/pull/8032) - Start removing externs for `ol/source` ([@romanzoller](https://github.com/romanzoller))
* [#8038](https://github.com/openlayers/openlayers/pull/8038) - Fix ZoomToExtent default tipLabel value ([@fredj](https://github.com/fredj))
* [#8034](https://github.com/openlayers/openlayers/pull/8034) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#8029](https://github.com/openlayers/openlayers/pull/8029) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#8030](https://github.com/openlayers/openlayers/pull/8030) - Set `user-select: text` for .ol-selectable ([@walkermatt](https://github.com/walkermatt))
* [#8025](https://github.com/openlayers/openlayers/pull/8025) - Move olx.layer.* to ol/layer/* ([@romanzoller](https://github.com/romanzoller))
* [#8023](https://github.com/openlayers/openlayers/pull/8023) - Module type changes for ol.webgl ([@fredj](https://github.com/fredj))
* [#8021](https://github.com/openlayers/openlayers/pull/8021) - Move olx.ViewState to ol/View ([@fredj](https://github.com/fredj))
* [#8012](https://github.com/openlayers/openlayers/pull/8012) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#8015](https://github.com/openlayers/openlayers/pull/8015) - Remove some typedefs from src/ol/typedefs.js ([@fredj](https://github.com/fredj))
* [#8016](https://github.com/openlayers/openlayers/pull/8016) - Move olx.layer.BaseOptions to ol/layer/Base ([@romanzoller](https://github.com/romanzoller))
* [#8005](https://github.com/openlayers/openlayers/pull/8005) - Add vector tile selection example ([@chrismayer](https://github.com/chrismayer))
* [#7999](https://github.com/openlayers/openlayers/pull/7999) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#7998](https://github.com/openlayers/openlayers/pull/7998) - More Jsdoc module fixes ([@fredj](https://github.com/fredj))
* [#7992](https://github.com/openlayers/openlayers/pull/7992) - Fix freeze on export PDF example ([@trenneman](https://github.com/trenneman))
* [#7997](https://github.com/openlayers/openlayers/pull/7997) - Jsdoc module ([@fredj](https://github.com/fredj))
* [#7986](https://github.com/openlayers/openlayers/pull/7986) - Use module syntax for type annotations ([@fredj](https://github.com/fredj))
* [#7996](https://github.com/openlayers/openlayers/pull/7996) - 4.6.5 ([@openlayers](https://github.com/openlayers))
* [#7993](https://github.com/openlayers/openlayers/pull/7993) - Module types ([@tschaub](https://github.com/tschaub))
* [#7989](https://github.com/openlayers/openlayers/pull/7989) - Redistribute olx types for ol/interaction ([@ahocevar](https://github.com/ahocevar))
* [#7991](https://github.com/openlayers/openlayers/pull/7991) - Fix some type paths ([@ahocevar](https://github.com/ahocevar))
* [#7985](https://github.com/openlayers/openlayers/pull/7985) - Use path type instead of ol.tilegrid ([@fredj](https://github.com/fredj))
* [#7983](https://github.com/openlayers/openlayers/pull/7983) - Use path type instead of ol.Extent ([@ahocevar](https://github.com/ahocevar))
* [#7980](https://github.com/openlayers/openlayers/pull/7980) - Use module syntax for type annotations ([@fredj](https://github.com/fredj))
* [#7979](https://github.com/openlayers/openlayers/pull/7979) - Mark optional property with square brackets ([@fredj](https://github.com/fredj))
* [#7975](https://github.com/openlayers/openlayers/pull/7975) - Mark optional property with square brackets ([@fredj](https://github.com/fredj))
* [#7960](https://github.com/openlayers/openlayers/pull/7960) - Fix memory leak in CanvasImageRenderer ([@PetroDE](https://github.com/PetroDE))
* [#7974](https://github.com/openlayers/openlayers/pull/7974) - Fix spelling ([@fredj](https://github.com/fredj))
* [#7973](https://github.com/openlayers/openlayers/pull/7973) - Remove setAttributeNS function from ol/xml ([@fredj](https://github.com/fredj))
* [#7971](https://github.com/openlayers/openlayers/pull/7971) - Use module syntax for type annotations ([@tschaub](https://github.com/tschaub))
* [#7968](https://github.com/openlayers/openlayers/pull/7968) - More types in the right places ([@tschaub](https://github.com/tschaub))
* [#7966](https://github.com/openlayers/openlayers/pull/7966) - Remove namespaces from olx.js ([@tschaub](https://github.com/tschaub))
* [#7965](https://github.com/openlayers/openlayers/pull/7965) - Redistribute types from externs/olx.js ([@tschaub](https://github.com/tschaub))
* [#7608](https://github.com/openlayers/openlayers/pull/7608) - Facilitate the removal of externs/olx.js ([@tschaub](https://github.com/tschaub))
* [#7964](https://github.com/openlayers/openlayers/pull/7964) - Coordinate type typo ([@tschaub](https://github.com/tschaub))
* [#7961](https://github.com/openlayers/openlayers/pull/7961) - Correct type for style ([@tschaub](https://github.com/tschaub))
* [#7958](https://github.com/openlayers/openlayers/pull/7958) - miscellaneous fixes to the types annotation ([@fredj](https://github.com/fredj))
* [#7953](https://github.com/openlayers/openlayers/pull/7953) - Get rid of externs/olx.js and src/ol/typedefs.js typedefs for ol/ and ol/events/ ([@ahocevar](https://github.com/ahocevar))
* [#7956](https://github.com/openlayers/openlayers/pull/7956) - Make sure namespaces are populated after they were created ([@ahocevar](https://github.com/ahocevar))
* [#7952](https://github.com/openlayers/openlayers/pull/7952) - Fix typo in jsdoc type ([@fredj](https://github.com/fredj))
* [#7948](https://github.com/openlayers/openlayers/pull/7948) - Better type definition ([@fredj](https://github.com/fredj))
* [#7946](https://github.com/openlayers/openlayers/pull/7946) - New typedef syntax and module path types for some modules ([@ahocevar](https://github.com/ahocevar))
* [#7944](https://github.com/openlayers/openlayers/pull/7944) - Make wrap work with points in the vector-labels example ([@ahocevar](https://github.com/ahocevar))
* [#7933](https://github.com/openlayers/openlayers/pull/7933) - Better code indentation ([@fredj](https://github.com/fredj))
* [#7930](https://github.com/openlayers/openlayers/pull/7930) - Use listen function instead of on ([@openlayers](https://github.com/openlayers))
* [#7929](https://github.com/openlayers/openlayers/pull/7929) - Remove unused devDependencies ([@openlayers](https://github.com/openlayers))
* [#7927](https://github.com/openlayers/openlayers/pull/7927) - Remove unused deps, unused tasks, and outdated info ([@tschaub](https://github.com/tschaub))
* [#7923](https://github.com/openlayers/openlayers/pull/7923) - Fix exports and use of constants ([@ahocevar](https://github.com/ahocevar))
* [#7914](https://github.com/openlayers/openlayers/pull/7914) - Some easy window cleanups ([@gberaudo](https://github.com/gberaudo))
* [#7915](https://github.com/openlayers/openlayers/pull/7915) - Untie feature loader and XML code ([@gberaudo](https://github.com/gberaudo))
* [#7918](https://github.com/openlayers/openlayers/pull/7918) - Move the nullFunction to ol/functions ([@fredj](https://github.com/fredj))
* [#7910](https://github.com/openlayers/openlayers/pull/7910) - Better code indentation ([@fredj](https://github.com/fredj))
* [#7904](https://github.com/openlayers/openlayers/pull/7904) - Add focus condition, e.g. for wheel zoom ([@ahocevar](https://github.com/ahocevar))
* [#7902](https://github.com/openlayers/openlayers/pull/7902) - Add a unicode symbol for symbol font detection ([@ahocevar](https://github.com/ahocevar))
* [#7899](https://github.com/openlayers/openlayers/pull/7899) - Use nomnom@1.8.1 ([@tschaub](https://github.com/tschaub))
* [#7897](https://github.com/openlayers/openlayers/pull/7897) - Better variables scoping ([@fredj](https://github.com/fredj))
* [#7894](https://github.com/openlayers/openlayers/pull/7894) - More named exports, fewer static members ([@tschaub](https://github.com/tschaub))
* [#7881](https://github.com/openlayers/openlayers/pull/7881) - Better variables scoping ([@fredj](https://github.com/fredj))
* [#7888](https://github.com/openlayers/openlayers/pull/7888) - Rework away static members from pointer related classes ([@bjornharrtell](https://github.com/bjornharrtell))
* [#7880](https://github.com/openlayers/openlayers/pull/7880) - Named exports from ol/style/Style ([@tschaub](https://github.com/tschaub))
* [#7872](https://github.com/openlayers/openlayers/pull/7872) - More named export ([@fredj](https://github.com/fredj))
* [#7874](https://github.com/openlayers/openlayers/pull/7874) - Cleaning up exports ([@tschaub](https://github.com/tschaub))
* [#7871](https://github.com/openlayers/openlayers/pull/7871) - Memory optimization ([@fredj](https://github.com/fredj))
* [#7870](https://github.com/openlayers/openlayers/pull/7870) - Use exported function from ol/webgl ([@fredj](https://github.com/fredj))
* [#7868](https://github.com/openlayers/openlayers/pull/7868) - Named export ([@fredj](https://github.com/fredj))
* [#7861](https://github.com/openlayers/openlayers/pull/7861) - Named exports from ol/structs/PriorityQueue ([@fredj](https://github.com/fredj))
* [#7860](https://github.com/openlayers/openlayers/pull/7860) - Don't export private constant from ol/webgl ([@openlayers](https://github.com/openlayers))
* [#7855](https://github.com/openlayers/openlayers/pull/7855) - More named exports ([@tschaub](https://github.com/tschaub))
* [#7851](https://github.com/openlayers/openlayers/pull/7851) - Replacing static functions with named exports ([@tschaub](https://github.com/tschaub))
* [#7852](https://github.com/openlayers/openlayers/pull/7852) - Rename extent ([@nicholas-l](https://github.com/nicholas-l))
* [#7840](https://github.com/openlayers/openlayers/pull/7840) - More export renaming ([@raiyni](https://github.com/raiyni))
* [#7843](https://github.com/openlayers/openlayers/pull/7843) - Better code indentation ([@fredj](https://github.com/fredj))
* [#7842](https://github.com/openlayers/openlayers/pull/7842) - Allow setting the label cache size ([@ahocevar](https://github.com/ahocevar))
* [#7791](https://github.com/openlayers/openlayers/pull/7791) - Named exports from ol/tilecoord ([@marcjansen](https://github.com/marcjansen))
* [#7835](https://github.com/openlayers/openlayers/pull/7835) - Add and use a constant for the collapsed CSS class ([@marcjansen](https://github.com/marcjansen))
* [#7834](https://github.com/openlayers/openlayers/pull/7834) - Named exports from ol/transform ([@marcjansen](https://github.com/marcjansen))
* [#7831](https://github.com/openlayers/openlayers/pull/7831) - Add new maxTilesLoading option to ol/PluggableMap ([@fredj](https://github.com/fredj))
* [#7833](https://github.com/openlayers/openlayers/pull/7833) - Fix createEmptyTexture function call in ol/webgl/Context ([@fredj](https://github.com/fredj))
* [#7832](https://github.com/openlayers/openlayers/pull/7832) - Webgl Layer and Context named exports ([@fgravin](https://github.com/fgravin))
* [#7826](https://github.com/openlayers/openlayers/pull/7826) - Better code indentation and modules renaming ([@fredj](https://github.com/fredj))
* [#7828](https://github.com/openlayers/openlayers/pull/7828) - Refactor constraints static methods to module functions ([@bjornharrtell](https://github.com/bjornharrtell))
* [#7827](https://github.com/openlayers/openlayers/pull/7827) - Named exports from ol/render/canvas ([@tschaub](https://github.com/tschaub))
* [#7823](https://github.com/openlayers/openlayers/pull/7823) - Replace static members with named exports ([@fredj](https://github.com/fredj))
* [#7820](https://github.com/openlayers/openlayers/pull/7820) - ol/geom/flat/* exports ([@raiyni](https://github.com/raiyni))
* [#7824](https://github.com/openlayers/openlayers/pull/7824) - Fix code indentation ([@fredj](https://github.com/fredj))
* [#7821](https://github.com/openlayers/openlayers/pull/7821) - Add new canvas instruction array in ol/render/canvas/Instruction ([@fredj](https://github.com/fredj))
* [#7817](https://github.com/openlayers/openlayers/pull/7817) - Remove more private static members ([@tschaub](https://github.com/tschaub))
* [#7814](https://github.com/openlayers/openlayers/pull/7814) - Remove more private static members ([@tschaub](https://github.com/tschaub))
* [#7816](https://github.com/openlayers/openlayers/pull/7816) - Use toString instead of asString in asColorLike ([@openlayers](https://github.com/openlayers))
* [#7811](https://github.com/openlayers/openlayers/pull/7811) - Remove ol.FeatureStyleFunction support ([@fredj](https://github.com/fredj))
* [#7815](https://github.com/openlayers/openlayers/pull/7815) - Remove private statics from webgl related modules ([@bjornharrtell](https://github.com/bjornharrtell))
* [#7803](https://github.com/openlayers/openlayers/pull/7803) - Remove private static members from constructors ([@tschaub](https://github.com/tschaub))
* [#7808](https://github.com/openlayers/openlayers/pull/7808) - Make sure the requested image size matches the desired ratio ([@ahocevar](https://github.com/ahocevar))
* [#7807](https://github.com/openlayers/openlayers/pull/7807) - Run typecheck after tests, because of its current verbosity ([@ahocevar](https://github.com/ahocevar))
* [#7805](https://github.com/openlayers/openlayers/pull/7805) - Remove private static members from constructors ([@fredj](https://github.com/fredj))
* [#7806](https://github.com/openlayers/openlayers/pull/7806) - Fix rotate import ([@ahocevar](https://github.com/ahocevar))
* [#7800](https://github.com/openlayers/openlayers/pull/7800) - More named exports ([@tschaub](https://github.com/tschaub))
* [#7741](https://github.com/openlayers/openlayers/pull/7741) - Type checking and full build creation ([@ahocevar](https://github.com/ahocevar))
* [#7797](https://github.com/openlayers/openlayers/pull/7797) - Better default export names for WebGL modules ([@tschaub](https://github.com/tschaub))
* [#7794](https://github.com/openlayers/openlayers/pull/7794) - Call animation callback in a timeout ([@tschaub](https://github.com/tschaub))
* [#7793](https://github.com/openlayers/openlayers/pull/7793) - More renaming of default exports ([@tschaub](https://github.com/tschaub))
* [#7799](https://github.com/openlayers/openlayers/pull/7799) - Use tmpSize to reduce garbage generation ([@fredj](https://github.com/fredj))
* [#7788](https://github.com/openlayers/openlayers/pull/7788) - Fix shaders generation ([@fredj](https://github.com/fredj))
* [#7789](https://github.com/openlayers/openlayers/pull/7789) - Use STATIC_DRAW as default WebGL buffer usage ([@fredj](https://github.com/fredj))
* [#7787](https://github.com/openlayers/openlayers/pull/7787) - More renaming ([@fredj](https://github.com/fredj))
* [#7782](https://github.com/openlayers/openlayers/pull/7782) - Named exports from specific proj modules ([@tschaub](https://github.com/tschaub))
* [#7780](https://github.com/openlayers/openlayers/pull/7780) - More named exports ([@tschaub](https://github.com/tschaub))
* [#7783](https://github.com/openlayers/openlayers/pull/7783) - Named exports from ol/xml ([@raiyni](https://github.com/raiyni))
* [#7774](https://github.com/openlayers/openlayers/pull/7774) - Pass destination extent to avoid garbage generation ([@fredj](https://github.com/fredj))
* [#7771](https://github.com/openlayers/openlayers/pull/7771) - Named exports from loadingstrategy ([@marcjansen](https://github.com/marcjansen))
* [#7772](https://github.com/openlayers/openlayers/pull/7772) - Named exports from filter module ([@marcjansen](https://github.com/marcjansen))
* [#7770](https://github.com/openlayers/openlayers/pull/7770) - Rename _ol_render_Box_ to RenderBox ([@marcjansen](https://github.com/marcjansen))
* [#7763](https://github.com/openlayers/openlayers/pull/7763) - Use the temporary extent in VectorTileLayer ([@fredj](https://github.com/fredj))
* [#7765](https://github.com/openlayers/openlayers/pull/7765) - Named exports from events condition ([@marcjansen](https://github.com/marcjansen))
* [#7767](https://github.com/openlayers/openlayers/pull/7767) - Transformation functions: Fix spelling and use the symbol × ([@marcjansen](https://github.com/marcjansen))
* [#7764](https://github.com/openlayers/openlayers/pull/7764) - Named exports from ol/has ([@tschaub](https://github.com/tschaub))
* [#7761](https://github.com/openlayers/openlayers/pull/7761) - Rename _ol_render_canvas_Instruction_ to CanvasInstruction ([@fredj](https://github.com/fredj))
* [#7749](https://github.com/openlayers/openlayers/pull/7749) - Check if the sketch feature is defined in finishDrawing ([@fredj](https://github.com/fredj))
* [#7745](https://github.com/openlayers/openlayers/pull/7745) - More named exports ([@fredj](https://github.com/fredj))
* [#7743](https://github.com/openlayers/openlayers/pull/7743) - Set enableHighAccuracy in geolocation example ([@fredj](https://github.com/fredj))
* [#7738](https://github.com/openlayers/openlayers/pull/7738) - Named exports from ol/events ([@tschaub](https://github.com/tschaub))
* [#7724](https://github.com/openlayers/openlayers/pull/7724) - Update prism library ([@fredj](https://github.com/fredj))
* [#7727](https://github.com/openlayers/openlayers/pull/7727) - Deactivate transition effect for semi transparent layer example ([@fredj](https://github.com/fredj))
* [#7726](https://github.com/openlayers/openlayers/pull/7726) - Named exports from ol/string ([@fredj](https://github.com/fredj))
* [#7725](https://github.com/openlayers/openlayers/pull/7725) - Remove extra comment ([@fredj](https://github.com/fredj))
* [#7721](https://github.com/openlayers/openlayers/pull/7721) - More renaming ([@fredj](https://github.com/fredj))
* [#7716](https://github.com/openlayers/openlayers/pull/7716) - Better variables scoping ([@fredj](https://github.com/fredj))
* [#7698](https://github.com/openlayers/openlayers/pull/7698) - Fix for loop in color test ([@fredj](https://github.com/fredj))
* [#7703](https://github.com/openlayers/openlayers/pull/7703) - Improved drawing experience on touch devices ([@ahocevar](https://github.com/ahocevar))
* [#7713](https://github.com/openlayers/openlayers/pull/7713) - Better variables scoping ([@fredj](https://github.com/fredj))
* [#7711](https://github.com/openlayers/openlayers/pull/7711) - Do not use (I)CLA anymore ([@bartvde](https://github.com/bartvde))
* [#7709](https://github.com/openlayers/openlayers/pull/7709) - More named export ([@fredj](https://github.com/fredj))
* [#7705](https://github.com/openlayers/openlayers/pull/7705) - More renaming ([@fredj](https://github.com/fredj))
* [#7700](https://github.com/openlayers/openlayers/pull/7700) - Fix ScaleLine control for Projections in degrees ([@pedros007](https://github.com/pedros007))
* [#7697](https://github.com/openlayers/openlayers/pull/7697) - Use const and let ([@tschaub](https://github.com/tschaub))
* [#7695](https://github.com/openlayers/openlayers/pull/7695) - More renaming ([@tschaub](https://github.com/tschaub))
* [#7693](https://github.com/openlayers/openlayers/pull/7693) - More import renaming ([@fredj](https://github.com/fredj))
* [#7678](https://github.com/openlayers/openlayers/pull/7678) - Add jsDelivr hits badge ([@LukasDrgon](https://github.com/LukasDrgon))
* [#7686](https://github.com/openlayers/openlayers/pull/7686) - More import renaming ([@tschaub](https://github.com/tschaub))
* [#7669](https://github.com/openlayers/openlayers/pull/7669) - Use declutter tree only for text and image replays ([@ahocevar](https://github.com/ahocevar))
* [#7683](https://github.com/openlayers/openlayers/pull/7683) - Move IGCZ enum to src/ol/format/IGC.js ([@fredj](https://github.com/fredj))
* [#7682](https://github.com/openlayers/openlayers/pull/7682) - Add new condition to MouseWheelZoom interaction ([@fredj](https://github.com/fredj))
* [#7676](https://github.com/openlayers/openlayers/pull/7676) - Check fonts against two reference fonts ([@ahocevar](https://github.com/ahocevar))
* [#7668](https://github.com/openlayers/openlayers/pull/7668) - Hit detect text background ([@ahocevar](https://github.com/ahocevar))
* [#7661](https://github.com/openlayers/openlayers/pull/7661) - Background fill stroke ([@ahocevar](https://github.com/ahocevar))
* [#7654](https://github.com/openlayers/openlayers/pull/7654) - Add named export for transformWithOptions function ([@fredj](https://github.com/fredj))
* [#7652](https://github.com/openlayers/openlayers/pull/7652) - More renaming ([@fredj](https://github.com/fredj))
* [#7649](https://github.com/openlayers/openlayers/pull/7649) - Named Map export for ol/Map ([@raiyni](https://github.com/raiyni))
* [#7646](https://github.com/openlayers/openlayers/pull/7646) - Named export for Polyline format and SimpleGeometry ([@openlayers](https://github.com/openlayers))
* [#7650](https://github.com/openlayers/openlayers/pull/7650) - Rename _ol_PluggableMap_ to PluggableMap ([@fredj](https://github.com/fredj))
* [#7642](https://github.com/openlayers/openlayers/pull/7642) - Don't store private function into GPX ([@fredj](https://github.com/fredj))
* [#7643](https://github.com/openlayers/openlayers/pull/7643) - Replace ol/Sphere with ol/sphere ([@tschaub](https://github.com/tschaub))
* [#7644](https://github.com/openlayers/openlayers/pull/7644) - Named exports from ol/math module ([@raiyni](https://github.com/raiyni))
* [#7636](https://github.com/openlayers/openlayers/pull/7636) - Named exports from the ol/array module ([@marcjansen](https://github.com/marcjansen))
* [#7614](https://github.com/openlayers/openlayers/pull/7614) - Remove opt_this from the API ([@KlausBenndorf](https://github.com/KlausBenndorf))
* [#7640](https://github.com/openlayers/openlayers/pull/7640) - Remove unneeded and already skipped test ([@openlayers](https://github.com/openlayers))
* [#7637](https://github.com/openlayers/openlayers/pull/7637) - Named exports from the ol/color module ([@marcjansen](https://github.com/marcjansen))
* [#7639](https://github.com/openlayers/openlayers/pull/7639) - Don't store private function into GeoJSON ([@fredj](https://github.com/fredj))
* [#7635](https://github.com/openlayers/openlayers/pull/7635) - More module renaming ([@fredj](https://github.com/fredj))
* [#7632](https://github.com/openlayers/openlayers/pull/7632) - Named exports from ol/css module ([@marcjansen](https://github.com/marcjansen))
* [#7634](https://github.com/openlayers/openlayers/pull/7634) - Rename _ol_layer_Tile_ to TileLayer ([@marcjansen](https://github.com/marcjansen))
* [#7633](https://github.com/openlayers/openlayers/pull/7633) - Import assert function directly ([@marcjansen](https://github.com/marcjansen))
* [#7631](https://github.com/openlayers/openlayers/pull/7631) - More named export and rename ([@fredj](https://github.com/fredj))
* [#7627](https://github.com/openlayers/openlayers/pull/7627) - Nicer import name ([@fredj](https://github.com/fredj))
* [#7622](https://github.com/openlayers/openlayers/pull/7622) - Named export ([@fredj](https://github.com/fredj))
* [#7624](https://github.com/openlayers/openlayers/pull/7624) - Remove eslint-plugin-openlayers-internal rules ([@fredj](https://github.com/fredj))
* [#7625](https://github.com/openlayers/openlayers/pull/7625) - Named export for ol/control and ol/interaction ([@fredj](https://github.com/fredj))
* [#7623](https://github.com/openlayers/openlayers/pull/7623) - Named export for ol/tileurlfunction ([@fredj](https://github.com/fredj))
* [#7621](https://github.com/openlayers/openlayers/pull/7621) - Replace ZeroClipboard with Clipboard.js ([@fredj](https://github.com/fredj))
* [#7620](https://github.com/openlayers/openlayers/pull/7620) - Rename variables in format modules ([@tschaub](https://github.com/tschaub))
* [#7619](https://github.com/openlayers/openlayers/pull/7619) - More variable renaming ([@fredj](https://github.com/fredj))
* [#7612](https://github.com/openlayers/openlayers/pull/7612) - Better import name for _ol_ext_* import ([@fredj](https://github.com/fredj))
* [#7611](https://github.com/openlayers/openlayers/pull/7611) - Change olx.SphereMetricOptions to SphereMetricOptions ([@fredj](https://github.com/fredj))
* [#7615](https://github.com/openlayers/openlayers/pull/7615) - Remove logos ([@tschaub](https://github.com/tschaub))
* [#7610](https://github.com/openlayers/openlayers/pull/7610) - More variable renaming ([@fredj](https://github.com/fredj))
* [#7609](https://github.com/openlayers/openlayers/pull/7609) - Redistribute a few types and docs ([@tschaub](https://github.com/tschaub))
* [#7598](https://github.com/openlayers/openlayers/pull/7598) - Modular proj4 integration ([@ahocevar](https://github.com/ahocevar))
* [#7607](https://github.com/openlayers/openlayers/pull/7607) - Rename interaction variables ([@tschaub](https://github.com/tschaub))
* [#7599](https://github.com/openlayers/openlayers/pull/7599) - Rename event variables ([@marcjansen](https://github.com/marcjansen))
* [#7605](https://github.com/openlayers/openlayers/pull/7605) - Better import and class name in ol/format/filter/ ([@fredj](https://github.com/fredj))
* [#7604](https://github.com/openlayers/openlayers/pull/7604) - Named exports from ol/functions ([@fredj](https://github.com/fredj))
* [#7603](https://github.com/openlayers/openlayers/pull/7603) - Simplify default export ([@fredj](https://github.com/fredj))
* [#7602](https://github.com/openlayers/openlayers/pull/7602) - Remove now unused DEVICE_ORIENTATION ([@fredj](https://github.com/fredj))
* [#7597](https://github.com/openlayers/openlayers/pull/7597) - More es6 named export ([@fredj](https://github.com/fredj))
* [#7600](https://github.com/openlayers/openlayers/pull/7600) - Simplify default export of ol/events/KeyCode ([@marcjansen](https://github.com/marcjansen))
* [#7594](https://github.com/openlayers/openlayers/pull/7594) - Rename control variables ([@tschaub](https://github.com/tschaub))
* [#7593](https://github.com/openlayers/openlayers/pull/7593) - Simplify default export ([@tschaub](https://github.com/tschaub))
* [#7591](https://github.com/openlayers/openlayers/pull/7591) - Rename geometry variables ([@tschaub](https://github.com/tschaub))
* [#7586](https://github.com/openlayers/openlayers/pull/7586) - Named exports from ol/dom ([@fredj](https://github.com/fredj))
* [#7581](https://github.com/openlayers/openlayers/pull/7581) - Named exports from ol/proj ([@tschaub](https://github.com/tschaub))
* [#7585](https://github.com/openlayers/openlayers/pull/7585) - Remove leftovers olx.animation typedefs ([@fredj](https://github.com/fredj))
* [#7584](https://github.com/openlayers/openlayers/pull/7584) - Named exports from ol/easing ([@fredj](https://github.com/fredj))
* [#7582](https://github.com/openlayers/openlayers/pull/7582) - Remove default export from ol/extent ([@ahocevar](https://github.com/ahocevar))
* [#7580](https://github.com/openlayers/openlayers/pull/7580) - No default export from lowercase modules ([@tschaub](https://github.com/tschaub))
* [#7575](https://github.com/openlayers/openlayers/pull/7575) - Add named exports for extent ([@ahocevar](https://github.com/ahocevar))
* [#7579](https://github.com/openlayers/openlayers/pull/7579) - VectorImageTile: call changed() before removing listeners on dispose ([@mbleichner](https://github.com/mbleichner))
* [#7578](https://github.com/openlayers/openlayers/pull/7578) - Remove deprecated functionality from 4.x ([@tschaub](https://github.com/tschaub))
* [#7577](https://github.com/openlayers/openlayers/pull/7577) - Redistribute things in ol/index.js ([@tschaub](https://github.com/tschaub))
* [#7576](https://github.com/openlayers/openlayers/pull/7576) - Named exports from ol/index.js ([@tschaub](https://github.com/tschaub))
* [#7570](https://github.com/openlayers/openlayers/pull/7570) - Transform sources to ES modules ([@tschaub](https://github.com/tschaub))
* [#7569](https://github.com/openlayers/openlayers/pull/7569) - Remove unnecessary require ([@tschaub](https://github.com/tschaub))
* [#7568](https://github.com/openlayers/openlayers/pull/7568) - Remove unneeded configs from test ([@ahocevar](https://github.com/ahocevar))
* [#7566](https://github.com/openlayers/openlayers/pull/7566) - Proper projection construction ([@tschaub](https://github.com/tschaub))
* [#7565](https://github.com/openlayers/openlayers/pull/7565) - Release v4.6.4 ([@openlayers](https://github.com/openlayers))
* [#7563](https://github.com/openlayers/openlayers/pull/7563) - Use full precision for the declutter box ([@ahocevar](https://github.com/ahocevar))
* [#7559](https://github.com/openlayers/openlayers/pull/7559) - Handle skipping and unskipping features with renderMode: 'image' ([@ahocevar](https://github.com/ahocevar))
* [#7562](https://github.com/openlayers/openlayers/pull/7562) - Remove unused, confusing projection code ([@ahocevar](https://github.com/ahocevar))
* [#7555](https://github.com/openlayers/openlayers/pull/7555) - Release v4.6.3 ([@openlayers](https://github.com/openlayers))
* [#7554](https://github.com/openlayers/openlayers/pull/7554) - Only compose image vector frame when the replay group has changed ([@ahocevar](https://github.com/ahocevar))
* [#7550](https://github.com/openlayers/openlayers/pull/7550) - Update examples to d3.js v4 ([@fredj](https://github.com/fredj))
* [#7548](https://github.com/openlayers/openlayers/pull/7548) - Fix pull request link ([@openlayers](https://github.com/openlayers))
* [#7547](https://github.com/openlayers/openlayers/pull/7547) - Release v4.6.2 ([@openlayers](https://github.com/openlayers))
* [#7546](https://github.com/openlayers/openlayers/pull/7546) - Do not request features for wrapped extent ([@ahocevar](https://github.com/ahocevar))
* [#7545](https://github.com/openlayers/openlayers/pull/7545) - Release v4.6.1 ([@openlayers](https://github.com/openlayers))
* [#7543](https://github.com/openlayers/openlayers/pull/7543) - Donut polygon labels do not get a chance to get rendered ([@ahocevar](https://github.com/ahocevar))
* [#7542](https://github.com/openlayers/openlayers/pull/7542) - Still respect deprecated exceedLength option ([@ahocevar](https://github.com/ahocevar))
* [#7541](https://github.com/openlayers/openlayers/pull/7541) - Fix case of vectorrendertype.js ([@ahocevar](https://github.com/ahocevar))
<details>
<summary>Dependency Updates</summary>
* [#8315](https://github.com/openlayers/openlayers/pull/8315) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8309](https://github.com/openlayers/openlayers/pull/8309) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8311](https://github.com/openlayers/openlayers/pull/8311) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8310](https://github.com/openlayers/openlayers/pull/8310) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8297](https://github.com/openlayers/openlayers/pull/8297) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8293](https://github.com/openlayers/openlayers/pull/8293) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8285](https://github.com/openlayers/openlayers/pull/8285) - Update google-closure-compiler to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8275](https://github.com/openlayers/openlayers/pull/8275) - Update serve to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8271](https://github.com/openlayers/openlayers/pull/8271) - chore(package): update google-closure-compiler to version 20180610.0.1 ([@openlayers](https://github.com/openlayers))
* [#8270](https://github.com/openlayers/openlayers/pull/8270) - chore(package): update rollup to version 0.60.7 ([@openlayers](https://github.com/openlayers))
* [#8266](https://github.com/openlayers/openlayers/pull/8266) - chore(package): update rollup to version 0.60.4 ([@openlayers](https://github.com/openlayers))
* [#8261](https://github.com/openlayers/openlayers/pull/8261) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8260](https://github.com/openlayers/openlayers/pull/8260) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8252](https://github.com/openlayers/openlayers/pull/8252) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8248](https://github.com/openlayers/openlayers/pull/8248) - Update serve to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8247](https://github.com/openlayers/openlayers/pull/8247) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8241](https://github.com/openlayers/openlayers/pull/8241) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8230](https://github.com/openlayers/openlayers/pull/8230) - Update serve to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8208](https://github.com/openlayers/openlayers/pull/8208) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8205](https://github.com/openlayers/openlayers/pull/8205) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8179](https://github.com/openlayers/openlayers/pull/8179) - Update google-closure-compiler to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8146](https://github.com/openlayers/openlayers/pull/8146) - Update coveralls to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8145](https://github.com/openlayers/openlayers/pull/8145) - Update fs-extra to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8140](https://github.com/openlayers/openlayers/pull/8140) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8131](https://github.com/openlayers/openlayers/pull/8131) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8130](https://github.com/openlayers/openlayers/pull/8130) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8128](https://github.com/openlayers/openlayers/pull/8128) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8124](https://github.com/openlayers/openlayers/pull/8124) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8102](https://github.com/openlayers/openlayers/pull/8102) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8095](https://github.com/openlayers/openlayers/pull/8095) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8094](https://github.com/openlayers/openlayers/pull/8094) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8093](https://github.com/openlayers/openlayers/pull/8093) - chore(package): update serve to version 6.5.5 ([@openlayers](https://github.com/openlayers))
* [#8090](https://github.com/openlayers/openlayers/pull/8090) - chore(package): update url-polyfill to version 1.0.13 ([@openlayers](https://github.com/openlayers))
* [#8091](https://github.com/openlayers/openlayers/pull/8091) - chore(package): update karma-firefox-launcher to version 1.1.0 ([@openlayers](https://github.com/openlayers))
* [#8085](https://github.com/openlayers/openlayers/pull/8085) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8071](https://github.com/openlayers/openlayers/pull/8071) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8060](https://github.com/openlayers/openlayers/pull/8060) - Update google-closure-compiler to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8039](https://github.com/openlayers/openlayers/pull/8039) - Update google-closure-compiler to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8028](https://github.com/openlayers/openlayers/pull/8028) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8019](https://github.com/openlayers/openlayers/pull/8019) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8017](https://github.com/openlayers/openlayers/pull/8017) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8018](https://github.com/openlayers/openlayers/pull/8018) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8014](https://github.com/openlayers/openlayers/pull/8014) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8009](https://github.com/openlayers/openlayers/pull/8009) - chore(package): update sinon to version 5.0.0 ([@openlayers](https://github.com/openlayers))
* [#8008](https://github.com/openlayers/openlayers/pull/8008) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8000](https://github.com/openlayers/openlayers/pull/8000) - Update karma-webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7990](https://github.com/openlayers/openlayers/pull/7990) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7984](https://github.com/openlayers/openlayers/pull/7984) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7981](https://github.com/openlayers/openlayers/pull/7981) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7977](https://github.com/openlayers/openlayers/pull/7977) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7972](https://github.com/openlayers/openlayers/pull/7972) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7963](https://github.com/openlayers/openlayers/pull/7963) - chore(package): update url-polyfill to version 1.0.11 ([@openlayers](https://github.com/openlayers))
* [#7962](https://github.com/openlayers/openlayers/pull/7962) - chore(package): update serve to version 6.5.2 ([@openlayers](https://github.com/openlayers))
* [#7959](https://github.com/openlayers/openlayers/pull/7959) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7957](https://github.com/openlayers/openlayers/pull/7957) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7950](https://github.com/openlayers/openlayers/pull/7950) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7945](https://github.com/openlayers/openlayers/pull/7945) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7943](https://github.com/openlayers/openlayers/pull/7943) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7940](https://github.com/openlayers/openlayers/pull/7940) - Update babel-plugin-jsdoc-closure to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7938](https://github.com/openlayers/openlayers/pull/7938) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7925](https://github.com/openlayers/openlayers/pull/7925) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7921](https://github.com/openlayers/openlayers/pull/7921) - Update clean-css-cli to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7916](https://github.com/openlayers/openlayers/pull/7916) - chore(package): update html-webpack-plugin to version 3.0.1 ([@openlayers](https://github.com/openlayers))
* [#7905](https://github.com/openlayers/openlayers/pull/7905) - Update karma-webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7903](https://github.com/openlayers/openlayers/pull/7903) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7901](https://github.com/openlayers/openlayers/pull/7901) - Update karma-webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7898](https://github.com/openlayers/openlayers/pull/7898) - chore(package): update karma-webpack to version 2.0.11 ([@openlayers](https://github.com/openlayers))
* [#7893](https://github.com/openlayers/openlayers/pull/7893) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7891](https://github.com/openlayers/openlayers/pull/7891) - chore(package): update recast to version 0.14.4 ([@openlayers](https://github.com/openlayers))
* [#7886](https://github.com/openlayers/openlayers/pull/7886) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7882](https://github.com/openlayers/openlayers/pull/7882) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7876](https://github.com/openlayers/openlayers/pull/7876) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7877](https://github.com/openlayers/openlayers/pull/7877) - Update webpack-merge to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7865](https://github.com/openlayers/openlayers/pull/7865) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7866](https://github.com/openlayers/openlayers/pull/7866) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7867](https://github.com/openlayers/openlayers/pull/7867) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7858](https://github.com/openlayers/openlayers/pull/7858) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7850](https://github.com/openlayers/openlayers/pull/7850) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7849](https://github.com/openlayers/openlayers/pull/7849) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7848](https://github.com/openlayers/openlayers/pull/7848) - Update nomnom to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7847](https://github.com/openlayers/openlayers/pull/7847) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7845](https://github.com/openlayers/openlayers/pull/7845) - chore(package): update marked to version 0.3.14 ([@openlayers](https://github.com/openlayers))
* [#7841](https://github.com/openlayers/openlayers/pull/7841) - Greenkeeper/babel plugin jsdoc closure 1.2.0 ([@openlayers](https://github.com/openlayers))
* [#7822](https://github.com/openlayers/openlayers/pull/7822) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7813](https://github.com/openlayers/openlayers/pull/7813) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7809](https://github.com/openlayers/openlayers/pull/7809) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7812](https://github.com/openlayers/openlayers/pull/7812) - chore(package): update sinon to version 4.3.0 ([@openlayers](https://github.com/openlayers))
* [#7777](https://github.com/openlayers/openlayers/pull/7777) - Update babel-minify-webpack-plugin to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7759](https://github.com/openlayers/openlayers/pull/7759) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7746](https://github.com/openlayers/openlayers/pull/7746) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7735](https://github.com/openlayers/openlayers/pull/7735) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7729](https://github.com/openlayers/openlayers/pull/7729) - Update jquery to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7732](https://github.com/openlayers/openlayers/pull/7732) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7731](https://github.com/openlayers/openlayers/pull/7731) - Update webpack-dev-server to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7728](https://github.com/openlayers/openlayers/pull/7728) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7720](https://github.com/openlayers/openlayers/pull/7720) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7712](https://github.com/openlayers/openlayers/pull/7712) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7702](https://github.com/openlayers/openlayers/pull/7702) - Update webpack-dev-server to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7701](https://github.com/openlayers/openlayers/pull/7701) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7691](https://github.com/openlayers/openlayers/pull/7691) - Update webpack-dev-server to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7688](https://github.com/openlayers/openlayers/pull/7688) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7685](https://github.com/openlayers/openlayers/pull/7685) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7681](https://github.com/openlayers/openlayers/pull/7681) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7680](https://github.com/openlayers/openlayers/pull/7680) - Update webpack-dev-server to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7667](https://github.com/openlayers/openlayers/pull/7667) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7656](https://github.com/openlayers/openlayers/pull/7656) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7655](https://github.com/openlayers/openlayers/pull/7655) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7651](https://github.com/openlayers/openlayers/pull/7651) - Update karma to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7647](https://github.com/openlayers/openlayers/pull/7647) - Update rbush to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7596](https://github.com/openlayers/openlayers/pull/7596) - Update karma-webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7589](https://github.com/openlayers/openlayers/pull/7589) - chore(package): update karma-webpack to version 2.0.8 ([@openlayers](https://github.com/openlayers))
* [#7571](https://github.com/openlayers/openlayers/pull/7571) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7567](https://github.com/openlayers/openlayers/pull/7567) - Update fs-extra to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7558](https://github.com/openlayers/openlayers/pull/7558) - Update eslint to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7552](https://github.com/openlayers/openlayers/pull/7552) - Update jscodeshift to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#7551](https://github.com/openlayers/openlayers/pull/7551) - Update sinon to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
</details>
+8
View File
@@ -0,0 +1,8 @@
# 5.0.1
The v5.0.1 release helps reduce bundle sizes for bundlers that support the `"sideEffects": "false"`option in `package.json`, and fixes website documentation regarding cdn locations and debug build which has been replaced by source maps.
## Fixes
* [#8341](https://github.com/openlayers/openlayers/pull/8341) - Set sideEffects: false flag ([@ahocevar](https://github.com/ahocevar))
* [#8342](https://github.com/openlayers/openlayers/pull/8342) - Fix links and description in quickstart tutorial ([@ahocevar](https://github.com/ahocevar))
+7
View File
@@ -0,0 +1,7 @@
# 5.0.2
The v5.0.2 release updates the package readme with new example projects.
## Fixes
* [#8332](https://github.com/openlayers/openlayers/pull/8343) - Starter projects ([@tschaub](https://github.com/tschaub))
+9
View File
@@ -0,0 +1,9 @@
# 5.0.3
The v5.0.3 fixes a regression in the vector tile renderer and improves the built examples and release package.
## Fixes
* [#8364](https://github.com/openlayers/openlayers/pull/8364) - Make examples work in IE11 ([@ahocevar](https://github.com/ahocevar))
* [#8363](https://github.com/openlayers/openlayers/pull/8363) - Autogenerate src/ol/package.json ([@ahocevar](https://github.com/ahocevar))
* [#8371](https://github.com/openlayers/openlayers/pull/8371) - Skip rendering when there is no replay group ([@ahocevar](https://github.com/ahocevar))
+64
View File
@@ -0,0 +1,64 @@
# v5.1.0
The 5.1 release adds a few new features a handful of fixes. You should be able to upgrade without any additional work. See the one note below regarding `null` geometry coordinates.
We're working toward type checking with TypeScript. This will complete our move away from using the Closure Compiler for type checking and compilation. We're excited about the improved experience for application developers and will highlight some of the benefit in upcoming releases.
### Upgrade Notes
#### Geometry constructor and `setCoordinates` no longer accept `null` coordinates
Geometries (`ol/geom/*`) now need to be constructed with valid coordinates (center for `ol/geom/Circle`) as first constructor argument. The same applies to the `setCoordinates()` (`setCenter() for `ol/geom/Circle`) method.
### New Features and Fixes
* [#8409](https://github.com/openlayers/openlayers/pull/8409) - Add abstract translate to ol/geom/Geometry ([@pjeweb](https://github.com/pjeweb))
* [#8405](https://github.com/openlayers/openlayers/pull/8405) - Minor type fixes ([@tschaub](https://github.com/tschaub))
* [#8401](https://github.com/openlayers/openlayers/pull/8401) - Make webpack's css loader work ([@ahocevar](https://github.com/ahocevar))
* [#8403](https://github.com/openlayers/openlayers/pull/8403) - Markdown links ([@tschaub](https://github.com/tschaub))
* [#8402](https://github.com/openlayers/openlayers/pull/8402) - Type fixes from the typescript checks ([@fredj](https://github.com/fredj))
* [#8400](https://github.com/openlayers/openlayers/pull/8400) - ESLint config update ([@tschaub](https://github.com/tschaub))
* [#8399](https://github.com/openlayers/openlayers/pull/8399) - Copy ol.css to build dir when building package ([@ahocevar](https://github.com/ahocevar))
* [#8397](https://github.com/openlayers/openlayers/pull/8397) - Update rollup ([@tschaub](https://github.com/tschaub))
* [#8385](https://github.com/openlayers/openlayers/pull/8385) - Use class syntax ([@openlayers](https://github.com/openlayers))
* [#8383](https://github.com/openlayers/openlayers/pull/8383) - style/Icon: Add `setAnchor()` method ([@Turbo87](https://github.com/Turbo87))
* [#8368](https://github.com/openlayers/openlayers/pull/8368) - Make render listeners work with image render mode ([@ahocevar](https://github.com/ahocevar))
* [#8376](https://github.com/openlayers/openlayers/pull/8376) - copy ZM values to polygon in makeRegular ([@virtualcitySYSTEMS](https://github.com/virtualcitySYSTEMS))
* [#8372](https://github.com/openlayers/openlayers/pull/8372) - Release v5.0.3 ([@openlayers](https://github.com/openlayers))
* [#8364](https://github.com/openlayers/openlayers/pull/8364) - Make examples work in IE11 ([@ahocevar](https://github.com/ahocevar))
* [#8363](https://github.com/openlayers/openlayers/pull/8363) - Autogenerate src/ol/package.json ([@ahocevar](https://github.com/ahocevar))
* [#8371](https://github.com/openlayers/openlayers/pull/8371) - Skip rendering when there is no replay group ([@ahocevar](https://github.com/ahocevar))
* [#8362](https://github.com/openlayers/openlayers/pull/8362) - Smart flat coordinates ([@ahocevar](https://github.com/ahocevar))
* [#8352](https://github.com/openlayers/openlayers/pull/8352) - Set `sideEffects` to `false` instead of `"false"` ([@tschaub](https://github.com/tschaub))
* [#8351](https://github.com/openlayers/openlayers/pull/8351) - Fix typo in release notes ([@ahocevar](https://github.com/ahocevar))
* [#8350](https://github.com/openlayers/openlayers/pull/8350) - Updates for v5.0.2 ([@ahocevar](https://github.com/ahocevar))
* [#8349](https://github.com/openlayers/openlayers/pull/8349) - Release v5.0.1 ([@ahocevar](https://github.com/ahocevar))
* [#8343](https://github.com/openlayers/openlayers/pull/8343) - Starter projects ([@tschaub](https://github.com/tschaub))
* [#8347](https://github.com/openlayers/openlayers/pull/8347) - Fix typos in release notes ([@ahocevar](https://github.com/ahocevar))
* [#8346](https://github.com/openlayers/openlayers/pull/8346) - Release v5.0.1 ([@openlayers](https://github.com/openlayers))
* [#8342](https://github.com/openlayers/openlayers/pull/8342) - Fix links and description in quickstart tutorial ([@ahocevar](https://github.com/ahocevar))
* [#8344](https://github.com/openlayers/openlayers/pull/8344) - Updated issue and pr templates ([@tschaub](https://github.com/tschaub))
* [#8341](https://github.com/openlayers/openlayers/pull/8341) - Set sideEffects: false flag ([@ahocevar](https://github.com/ahocevar))
* [#8333](https://github.com/openlayers/openlayers/pull/8333) - Fix wrong return type for readHref function ([@openlayers](https://github.com/openlayers))
* [#8329](https://github.com/openlayers/openlayers/pull/8329) - Better jsdoc typing ([@fredj](https://github.com/fredj))
* [#8319](https://github.com/openlayers/openlayers/pull/8319) - Remove reference to setProj4 function in documentation ([@fredj](https://github.com/fredj))
<details>
<summary>Dependency Updates</summary>
* [#8410](https://github.com/openlayers/openlayers/pull/8410) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8408](https://github.com/openlayers/openlayers/pull/8408) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8386](https://github.com/openlayers/openlayers/pull/8386) - Update fs-extra to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8382](https://github.com/openlayers/openlayers/pull/8382) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8373](https://github.com/openlayers/openlayers/pull/8373) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8355](https://github.com/openlayers/openlayers/pull/8355) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8354](https://github.com/openlayers/openlayers/pull/8354) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8348](https://github.com/openlayers/openlayers/pull/8348) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8338](https://github.com/openlayers/openlayers/pull/8338) - Update recast to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8332](https://github.com/openlayers/openlayers/pull/8332) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8326](https://github.com/openlayers/openlayers/pull/8326) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8321](https://github.com/openlayers/openlayers/pull/8321) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8318](https://github.com/openlayers/openlayers/pull/8318) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
</details>
+3
View File
@@ -0,0 +1,3 @@
# 5.1.1
The 5.1.1 release is a patch to include the readme in the package. See the [5.1.0 notes](https://github.com/openlayers/openlayers/releases/tag/v5.1.0) for detail on the 5.1 release.
+5
View File
@@ -0,0 +1,5 @@
# 5.1.2
The 5.1.2 release is a patch to fix the API docs. See the [5.1.0 notes](https://github.com/openlayers/openlayers/releases/tag/v5.1.0) for detail on the 5.1 release.
* [#8413](https://github.com/openlayers/openlayers/pull/8413) - Remove extra curly in type ([@tschaub](https://github.com/tschaub))
+6
View File
@@ -0,0 +1,6 @@
# 5.1.3
The 5.1.3 release is a patch to fix the API docs and the legacy full build. See the [5.1.0 notes](https://github.com/openlayers/openlayers/releases/tag/v5.1.0) for detail on the 5.1 release.
* [#8417](https://github.com/openlayers/openlayers/pull/8417) - Minor doc updates ([@tschaub](https://github.com/tschaub))
* [#8418](https://github.com/openlayers/openlayers/pull/8418) - Set api annotation on classdesc, not constructor ([@ahocevar](https://github.com/ahocevar))
+86
View File
@@ -0,0 +1,86 @@
# v5.2.0
The 5.2 release adds a few new features a handful of fixes, including regressions that were reported after the 5.1 release. You should be able to upgrade without any additional work. See the one note below regarding `snapToPixel` on `ol/style/Image` and subclasses.
We're still working toward type checking with TypeScript. Until that is complete, we apologize for some flwas in the online API documentation. We're excited about the improved experience for application developers when the effort is finished, and will highlight some of the benefit in upcoming releases.
### Upgrade Notes
#### Removal of the `snapToPixel` option for `ol/style/Image` subclasses
The `snapToPixel` option has been removed, and the `getSnapToPixel` and `setSnapToPixel` methods are deprecated.
The renderer now snaps to integer pixels when no interaction or animation is running to get crisp rendering. During interaction or animation, it does not snap to integer pixels to avoid jitter.
When rendering with the Immediate API, symbols will no longer be snapped to integer pixels. To get crisp images, set `context.imageSmoothingEnabled = false` before rendering with the Immediate API, and `context.imageSmoothingEnabled = true` afterwards.
### New Features and Fixes
* [#8511](https://github.com/openlayers/openlayers/pull/8511) - Update IGN API key ([@openlayers](https://github.com/openlayers))
* [#8547](https://github.com/openlayers/openlayers/pull/8547) - Fix port number in developing doc ([@pgiraud](https://github.com/pgiraud))
* [#8546](https://github.com/openlayers/openlayers/pull/8546) - Update projection FAQ for v5 ([@ahocevar](https://github.com/ahocevar))
* [#8481](https://github.com/openlayers/openlayers/pull/8481) - Expose some internal functions ([@gberaudo](https://github.com/gberaudo))
* [#8510](https://github.com/openlayers/openlayers/pull/8510) - Fix WMTS URLs with dimensions ([@gberaudo](https://github.com/gberaudo))
* [#8524](https://github.com/openlayers/openlayers/pull/8524) - Fix compatiblity with XHTML content type ([@NeoRaider](https://github.com/NeoRaider))
* [#8532](https://github.com/openlayers/openlayers/pull/8532) - Add 'rendercomplete' event ([@ahocevar](https://github.com/ahocevar))
* [#8529](https://github.com/openlayers/openlayers/pull/8529) - Update link to base class in docs ([@TDesjardins](https://github.com/TDesjardins))
* [#8528](https://github.com/openlayers/openlayers/pull/8528) - Update link to base class in docs ([@TDesjardins](https://github.com/TDesjardins))
* [#8525](https://github.com/openlayers/openlayers/pull/8525) - Re-export Projection from ol/proj for convenience ([@tschaub](https://github.com/tschaub))
* [#8499](https://github.com/openlayers/openlayers/pull/8499) - Round center in viewState to pixels ([@ahocevar](https://github.com/ahocevar))
* [#8520](https://github.com/openlayers/openlayers/pull/8520) - Remove redundant if block ([@openlayers](https://github.com/openlayers))
* [#8515](https://github.com/openlayers/openlayers/pull/8515) - More convenient select and sketch layer management ([@ahocevar](https://github.com/ahocevar))
* [#8503](https://github.com/openlayers/openlayers/pull/8503) - Avoid block scope issues in transpiled code ([@ahocevar](https://github.com/ahocevar))
* [#8490](https://github.com/openlayers/openlayers/pull/8490) - WMTS getCapabilities readCoodinates more than one whitespace delimiter ([@MarquesDeAzevedo](https://github.com/MarquesDeAzevedo))
* [#8489](https://github.com/openlayers/openlayers/pull/8489) - Use .prototype. only where necessary ([@ahocevar](https://github.com/ahocevar))
* [#8478](https://github.com/openlayers/openlayers/pull/8478) - Check font availability with multiple font weights ([@ahocevar](https://github.com/ahocevar))
* [#8483](https://github.com/openlayers/openlayers/pull/8483) - Don't create Polygon with null coordinates ([@fredj](https://github.com/fredj))
* [#8471](https://github.com/openlayers/openlayers/pull/8471) - Add getUrl and getImageExtent to ImageStatic API ([@samuel-girard](https://github.com/samuel-girard))
* [#8470](https://github.com/openlayers/openlayers/pull/8470) - Update Tile loading API docs ([@scroach](https://github.com/scroach))
* [#8477](https://github.com/openlayers/openlayers/pull/8477) - Expose original getGutter ([@gberaudo](https://github.com/gberaudo))
* [#8466](https://github.com/openlayers/openlayers/pull/8466) - Add onFocusOnly option to interaction defaults ([@ahocevar](https://github.com/ahocevar))
* [#8465](https://github.com/openlayers/openlayers/pull/8465) - Do not prevent default on pointermove ([@ahocevar](https://github.com/ahocevar))
* [#8461](https://github.com/openlayers/openlayers/pull/8461) - Fix double backtick typo ([@lionralfs](https://github.com/lionralfs))
* [#8452](https://github.com/openlayers/openlayers/pull/8452) - Remove extra translate function in Geometry, add missing api tag ([@fredj](https://github.com/fredj))
* [#8451](https://github.com/openlayers/openlayers/pull/8451) - Remove unimplemented functions ([@fredj](https://github.com/fredj))
* [#8450](https://github.com/openlayers/openlayers/pull/8450) - Mark properties of ReadOptions and WriteOptions as optional ([@fredj](https://github.com/fredj))
* [#8443](https://github.com/openlayers/openlayers/pull/8443) - Explicit void ([@tschaub](https://github.com/tschaub))
* [#8437](https://github.com/openlayers/openlayers/pull/8437) - Avoid shadowing EventTarget ([@tschaub](https://github.com/tschaub))
* [#8439](https://github.com/openlayers/openlayers/pull/8439) - Fewer dots in types ([@tschaub](https://github.com/tschaub))
* [#8441](https://github.com/openlayers/openlayers/pull/8441) - Fix loaded script for the example-verbatim examples ([@fredj](https://github.com/fredj))
* [#8435](https://github.com/openlayers/openlayers/pull/8435) - Call setCoordinates on the point instance ([@fredj](https://github.com/fredj))
* [#8428](https://github.com/openlayers/openlayers/pull/8428) - Type name on same line as type ([@tschaub](https://github.com/tschaub))
* [#8422](https://github.com/openlayers/openlayers/pull/8422) - Improve JSDoc such that `ng build --prod` with angular/cli 6.0.8 succeeds again ([@jkoelewijn](https://github.com/jkoelewijn))
* [#8396](https://github.com/openlayers/openlayers/pull/8396) - Fix ol.interaction.Draw~createRegularPolygon ([@iamplex](https://github.com/iamplex))
* [#8420](https://github.com/openlayers/openlayers/pull/8420) - Keep function names when building examples ([@ahocevar](https://github.com/ahocevar))
* [#8419](https://github.com/openlayers/openlayers/pull/8419) - Release v5.1.3 ([@tschaub](https://github.com/tschaub))
* [#8417](https://github.com/openlayers/openlayers/pull/8417) - Minor doc updates ([@tschaub](https://github.com/tschaub))
* [#8418](https://github.com/openlayers/openlayers/pull/8418) - Set api annotation on classdesc, not constructor ([@ahocevar](https://github.com/ahocevar))
* [#8414](https://github.com/openlayers/openlayers/pull/8414) - Updates for 5.1.2 ([@tschaub](https://github.com/tschaub))
* [#8413](https://github.com/openlayers/openlayers/pull/8413) - Remove extra curly in type ([@tschaub](https://github.com/tschaub))
* [#8412](https://github.com/openlayers/openlayers/pull/8412) - Changes for 5.1.1. ([@tschaub](https://github.com/tschaub))
<details>
<summary>Dependency Updates</summary>
* [#8543](https://github.com/openlayers/openlayers/pull/8543) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8541](https://github.com/openlayers/openlayers/pull/8541) - Update proj4 to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8542](https://github.com/openlayers/openlayers/pull/8542) - Update rollup-plugin-commonjs to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8533](https://github.com/openlayers/openlayers/pull/8533) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8530](https://github.com/openlayers/openlayers/pull/8530) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8522](https://github.com/openlayers/openlayers/pull/8522) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8505](https://github.com/openlayers/openlayers/pull/8505) - Update karma to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8501](https://github.com/openlayers/openlayers/pull/8501) - Update rollup-plugin-commonjs to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8495](https://github.com/openlayers/openlayers/pull/8495) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8493](https://github.com/openlayers/openlayers/pull/8493) - Update clean-css-cli to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8491](https://github.com/openlayers/openlayers/pull/8491) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8486](https://github.com/openlayers/openlayers/pull/8486) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8476](https://github.com/openlayers/openlayers/pull/8476) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8475](https://github.com/openlayers/openlayers/pull/8475) - Update clean-css-cli to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8469](https://github.com/openlayers/openlayers/pull/8469) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8453](https://github.com/openlayers/openlayers/pull/8453) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8447](https://github.com/openlayers/openlayers/pull/8447) - Update rollup-plugin-commonjs to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8426](https://github.com/openlayers/openlayers/pull/8426) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
</details>
+217
View File
@@ -0,0 +1,217 @@
# v5.3.0
We're continuing to work toward more complete type checking with TypeScript  based on JSDoc annotations in the source. The 5.3 release includes a number of bug fixes related to the type checking effort. In addition the release comes with a handful of new features and improved API reference docs.
### Upgrade Notes
#### The `getUid` function returns string
The `getUid` function from the `ol/util` module now returns a string instead of a number.
#### Attributions are not collapsible for `ol/source/OSM`
When a map contains a layer from a `ol/source/OSM` source, the `ol/control/Attribution` control will be shown with the `collapsible: false` behavior.
To get the previous behavior, configure the `ol/control/Attribution` control with `collapsible: true`.
### New Features and Fixes
* [#8642](https://github.com/openlayers/openlayers/pull/8642) - Fixes for optional key passing, issue #8067 for tile sources ([@dimin](https://github.com/dimin))
* [#8885](https://github.com/openlayers/openlayers/pull/8885) - Move GeolocationProperty into Geolocation ([@fredj](https://github.com/fredj))
* [#8881](https://github.com/openlayers/openlayers/pull/8881) - Remove custom styles in drag-and-drop examples ([@fredj](https://github.com/fredj))
* [#8877](https://github.com/openlayers/openlayers/pull/8877) - Create context in vector tile layer constructor ([@tschaub](https://github.com/tschaub))
* [#8883](https://github.com/openlayers/openlayers/pull/8883) - New test runner ([@tschaub](https://github.com/tschaub))
* [#8882](https://github.com/openlayers/openlayers/pull/8882) - Import simplification ([@fredj](https://github.com/fredj))
* [#8858](https://github.com/openlayers/openlayers/pull/8858) - Add condition for viewParams and TypeScript related option ([@webgeodatavore](https://github.com/webgeodatavore))
* [#8879](https://github.com/openlayers/openlayers/pull/8879) - Build with CircleCI ([@openlayers](https://github.com/openlayers))
* [#8878](https://github.com/openlayers/openlayers/pull/8878) - Avoid logging 404 warnings ([@tschaub](https://github.com/tschaub))
* [#8876](https://github.com/openlayers/openlayers/pull/8876) - Remove RenderType enum from vector tile layer ([@tschaub](https://github.com/tschaub))
* [#8874](https://github.com/openlayers/openlayers/pull/8874) - Remove unnecessary type casts in canvas layer renderer ([@tschaub](https://github.com/tschaub))
* [#8869](https://github.com/openlayers/openlayers/pull/8869) - Fix more types for TypeScript ([@ahocevar](https://github.com/ahocevar))
* [#8868](https://github.com/openlayers/openlayers/pull/8868) - Throw when calling abstract methods; fix abstract return types ([@ahocevar](https://github.com/ahocevar))
* [#8862](https://github.com/openlayers/openlayers/pull/8862) - Legacy build and apidoc improvements ([@ahocevar](https://github.com/ahocevar))
* [#8867](https://github.com/openlayers/openlayers/pull/8867) - Fix example builder ([@ahocevar](https://github.com/ahocevar))
* [#8852](https://github.com/openlayers/openlayers/pull/8852) - Improve link handling in API docs ([@ahocevar](https://github.com/ahocevar))
* [#8853](https://github.com/openlayers/openlayers/pull/8853) - Make rendercomplete work with vector sources without loader ([@ahocevar](https://github.com/ahocevar))
* [#8851](https://github.com/openlayers/openlayers/pull/8851) - Use typescript types for RBush ([@fredj](https://github.com/fredj))
* [#8850](https://github.com/openlayers/openlayers/pull/8850) - Remove old TODO in ol/Graticule ([@fredj](https://github.com/fredj))
* [#8847](https://github.com/openlayers/openlayers/pull/8847) - Fix API docs ([@ahocevar](https://github.com/ahocevar))
* [#8845](https://github.com/openlayers/openlayers/pull/8845) - Remove RenderType enum from vector layer ([@tschaub](https://github.com/tschaub))
* [#8843](https://github.com/openlayers/openlayers/pull/8843) - Fix ts typing for fullscreen button ([@tonio](https://github.com/tonio))
* [#8841](https://github.com/openlayers/openlayers/pull/8841) - Use super.method instead of prototype.method.call ([@fredj](https://github.com/fredj))
* [#8842](https://github.com/openlayers/openlayers/pull/8842) - Change target type from Element to HTMLElement ([@fredj](https://github.com/fredj))
* [#8840](https://github.com/openlayers/openlayers/pull/8840) - Remove unneeded code in VectorTile renderer ([@elemoine](https://github.com/elemoine))
* [#8844](https://github.com/openlayers/openlayers/pull/8844) - Set crossOrigin to anonymous in mapbox-streets-v6-style ([@elemoine](https://github.com/elemoine))
* [#8776](https://github.com/openlayers/openlayers/pull/8776) - Use setTimeout without the window namespace ([@ahocevar](https://github.com/ahocevar))
* [#8837](https://github.com/openlayers/openlayers/pull/8837) - Re-export MousePosition from ol/control ([@fredj](https://github.com/fredj))
* [#8832](https://github.com/openlayers/openlayers/pull/8832) - Remove source foreachfeatureatcoordinate from ol/renderer/webgl/ImageLayer ([@fredj](https://github.com/fredj))
* [#8833](https://github.com/openlayers/openlayers/pull/8833) - Fix wrong filename in type annotation ([@fredj](https://github.com/fredj))
* [#8827](https://github.com/openlayers/openlayers/pull/8827) - Removed unused forEachFeatureAtCoordinate from ol/source/Source ([@schmidtk](https://github.com/schmidtk))
* [#8830](https://github.com/openlayers/openlayers/pull/8830) - Type annotation fixes in ol/control/ ([@fredj](https://github.com/fredj))
* [#8829](https://github.com/openlayers/openlayers/pull/8829) - Change getUid return type from number to string ([@fredj](https://github.com/fredj))
* [#8825](https://github.com/openlayers/openlayers/pull/8825) - Fix TypeScript errors ([@schmidtk](https://github.com/schmidtk))
* [#8828](https://github.com/openlayers/openlayers/pull/8828) - Re-export VectorTile from ol/source ([@elemoine](https://github.com/elemoine))
* [#8806](https://github.com/openlayers/openlayers/pull/8806) - Preserve button class name list in full screen control on toggle ([@notnotse](https://github.com/notnotse))
* [#8817](https://github.com/openlayers/openlayers/pull/8817) - Clarify format option for ol/source/WMTS ([@romanzoller](https://github.com/romanzoller))
* [#8824](https://github.com/openlayers/openlayers/pull/8824) - Fix TypeScript errors in ol/format/GML ([@schmidtk](https://github.com/schmidtk))
* [#8820](https://github.com/openlayers/openlayers/pull/8820) - Polygon intersectsExtent failure - Issue #8795 ([@hmdavidjunior](https://github.com/hmdavidjunior))
* [#8519](https://github.com/openlayers/openlayers/pull/8519) - GML Format Improvements #8516 #8517 #8518 ([@NielsCharlier](https://github.com/NielsCharlier))
* [#8711](https://github.com/openlayers/openlayers/pull/8711) - Fix TypeScript errors in ol/format/GML ([@schmidtk](https://github.com/schmidtk))
* [#8818](https://github.com/openlayers/openlayers/pull/8818) - Fix the way zoom comes from ([@cs09g](https://github.com/cs09g))
* [#8804](https://github.com/openlayers/openlayers/pull/8804) - Add possibility to disable collapsible attributions from Source ([@notnotse](https://github.com/notnotse))
* [#8787](https://github.com/openlayers/openlayers/pull/8787) - Replace instanceof checks with other logic ([@ahocevar](https://github.com/ahocevar))
* [#8808](https://github.com/openlayers/openlayers/pull/8808) - Fix format and version properties in ol/source/WMTS Options typedef ([@fredj](https://github.com/fredj))
* [#8812](https://github.com/openlayers/openlayers/pull/8812) - Update snap.js ([@rosedo](https://github.com/rosedo))
* [#8809](https://github.com/openlayers/openlayers/pull/8809) - Configurable interval options ([@notnotse](https://github.com/notnotse))
* [#8798](https://github.com/openlayers/openlayers/pull/8798) - Use unpkg.com instead of rawgit.com ([@fredj](https://github.com/fredj))
* [#8805](https://github.com/openlayers/openlayers/pull/8805) - Do not draw image with width or height < 0.5 ([@notnotse](https://github.com/notnotse))
* [#8803](https://github.com/openlayers/openlayers/pull/8803) - Handle zoom slider position with floating point numbers ([@notnotse](https://github.com/notnotse))
* [#8789](https://github.com/openlayers/openlayers/pull/8789) - Spelling and indentation fixes ([@fredj](https://github.com/fredj))
* [#8782](https://github.com/openlayers/openlayers/pull/8782) - Fix getSimplifiedGeometry definition ([@wallw-bits](https://github.com/wallw-bits))
* [#8783](https://github.com/openlayers/openlayers/pull/8783) - Fix missing method declaration ([@wallw-bits](https://github.com/wallw-bits))
* [#8781](https://github.com/openlayers/openlayers/pull/8781) - Fix type check errors ([@schmidtk](https://github.com/schmidtk))
* [#8779](https://github.com/openlayers/openlayers/pull/8779) - Fix additional type check errors ([@schmidtk](https://github.com/schmidtk))
* [#8753](https://github.com/openlayers/openlayers/pull/8753) - Fix type check in ol/PluggableMap.js ([@wallw-bits](https://github.com/wallw-bits))
* [#8762](https://github.com/openlayers/openlayers/pull/8762) - Fix type errors from interaction event handlers ([@schmidtk](https://github.com/schmidtk))
* [#8763](https://github.com/openlayers/openlayers/pull/8763) - Fix type check for ol/events ([@wallw-bits](https://github.com/wallw-bits))
* [#8774](https://github.com/openlayers/openlayers/pull/8774) - Fix type check errors in ol/renderer/webgl ([@schmidtk](https://github.com/schmidtk))
* [#8768](https://github.com/openlayers/openlayers/pull/8768) - Fix type check errors in ol/interaction/Select ([@schmidtk](https://github.com/schmidtk))
* [#8764](https://github.com/openlayers/openlayers/pull/8764) - Fix TypeScript errors in ol/interaction/Draw ([@schmidtk](https://github.com/schmidtk))
* [#8767](https://github.com/openlayers/openlayers/pull/8767) - Fix type check errors in ol/interaction/Modify ([@schmidtk](https://github.com/schmidtk))
* [#8773](https://github.com/openlayers/openlayers/pull/8773) - Fix type check errors in ol/renderer/canvas ([@schmidtk](https://github.com/schmidtk))
* [#8769](https://github.com/openlayers/openlayers/pull/8769) - Fix type check errors in ol/render/canvas ([@schmidtk](https://github.com/schmidtk))
* [#8770](https://github.com/openlayers/openlayers/pull/8770) - Fix type check errors in ol/render/webgl ([@schmidtk](https://github.com/schmidtk))
* [#8765](https://github.com/openlayers/openlayers/pull/8765) - Simplify logic for fixed tile url functions ([@ahocevar](https://github.com/ahocevar))
* [#8766](https://github.com/openlayers/openlayers/pull/8766) - Use FeatureLike typedef ([@fredj](https://github.com/fredj))
* [#8739](https://github.com/openlayers/openlayers/pull/8739) - Fix TypeScript errors in ol/format/WMSGetFeatureInfo ([@schmidtk](https://github.com/schmidtk))
* [#8666](https://github.com/openlayers/openlayers/pull/8666) - Fix condition TypeScript errors ([@schmidtk](https://github.com/schmidtk))
* [#8757](https://github.com/openlayers/openlayers/pull/8757) - Use typeof to simplify JSDoc class types ([@schmidtk](https://github.com/schmidtk))
* [#8759](https://github.com/openlayers/openlayers/pull/8759) - Use es6 class inheritance in examples ([@fredj](https://github.com/fredj))
* [#8761](https://github.com/openlayers/openlayers/pull/8761) - Allow returning RenderFeature in ol/format/Feature ([@schmidtk](https://github.com/schmidtk))
* [#8758](https://github.com/openlayers/openlayers/pull/8758) - Fix TS error and prevent extra string conversion ([@schmidtk](https://github.com/schmidtk))
* [#8736](https://github.com/openlayers/openlayers/pull/8736) - Typescript misc fixes ([@fredj](https://github.com/fredj))
* [#8741](https://github.com/openlayers/openlayers/pull/8741) - Fix TypeScript errors in ol/geom/* ([@schmidtk](https://github.com/schmidtk))
* [#8707](https://github.com/openlayers/openlayers/pull/8707) - Fix TypeScript errors in ol/format/Feature ([@schmidtk](https://github.com/schmidtk))
* [#8754](https://github.com/openlayers/openlayers/pull/8754) - Fix type check in ol/math ([@wallw-bits](https://github.com/wallw-bits))
* [#8747](https://github.com/openlayers/openlayers/pull/8747) - Update doc/faq.md ([@fredj](https://github.com/fredj))
* [#8744](https://github.com/openlayers/openlayers/pull/8744) - Fix type checks in VectorTileSource ([@wallw-bits](https://github.com/wallw-bits))
* [#8740](https://github.com/openlayers/openlayers/pull/8740) - Increase linestring textalign test tolerance to be Firefox compliant. ([@benVigie](https://github.com/benVigie))
* [#8738](https://github.com/openlayers/openlayers/pull/8738) - Cast to parent type to fix TS errors ([@schmidtk](https://github.com/schmidtk))
* [#8737](https://github.com/openlayers/openlayers/pull/8737) - Flag optional param to fix TS error ([@schmidtk](https://github.com/schmidtk))
* [#8742](https://github.com/openlayers/openlayers/pull/8742) - Fix type checks in Vector source ([@wallw-bits](https://github.com/wallw-bits))
* [#8743](https://github.com/openlayers/openlayers/pull/8743) - Fix type check in Raster source ([@wallw-bits](https://github.com/wallw-bits))
* [#8733](https://github.com/openlayers/openlayers/pull/8733) - Fix TypeScript errors in ol/format/WFS ([@schmidtk](https://github.com/schmidtk))
* [#8735](https://github.com/openlayers/openlayers/pull/8735) - Fix TypeScript errors in ol/format/WKT ([@schmidtk](https://github.com/schmidtk))
* [#8730](https://github.com/openlayers/openlayers/pull/8730) - Fix TypeScript errors in ol/format/KML ([@schmidtk](https://github.com/schmidtk))
* [#8732](https://github.com/openlayers/openlayers/pull/8732) - Fix type check in ol/source/Tile ([@wallw-bits](https://github.com/wallw-bits))
* [#8731](https://github.com/openlayers/openlayers/pull/8731) - Dispatch a GeolocationError in Geolocation ([@fredj](https://github.com/fredj))
* [#8729](https://github.com/openlayers/openlayers/pull/8729) - Move functions out of the PointerEvent class ([@fredj](https://github.com/fredj))
* [#8724](https://github.com/openlayers/openlayers/pull/8724) - Typescript misc fixes ([@fredj](https://github.com/fredj))
* [#8717](https://github.com/openlayers/openlayers/pull/8717) - Fix type checks in TileArcGISRest ([@fredj](https://github.com/fredj))
* [#8718](https://github.com/openlayers/openlayers/pull/8718) - Fix TypeScript errors in ol/format/GPX ([@schmidtk](https://github.com/schmidtk))
* [#8706](https://github.com/openlayers/openlayers/pull/8706) - Use EsriJSON types from @types/arcgis-rest-api ([@schmidtk](https://github.com/schmidtk))
* [#8709](https://github.com/openlayers/openlayers/pull/8709) - Fix TypeScript errors in ol/format/GeoJSON ([@schmidtk](https://github.com/schmidtk))
* [#8708](https://github.com/openlayers/openlayers/pull/8708) - Fix type checks in ImageCanvas source ([@wallw-bits](https://github.com/wallw-bits))
* [#8710](https://github.com/openlayers/openlayers/pull/8710) - Fix type checks in ImageArcGISRest ([@wallw-bits](https://github.com/wallw-bits))
* [#8698](https://github.com/openlayers/openlayers/pull/8698) - Fix zoom slider events ([@intouch-smartwater](https://github.com/intouch-smartwater))
* [#8697](https://github.com/openlayers/openlayers/pull/8697) - Remove unused properties from Cluster and Image options ([@fredj](https://github.com/fredj))
* [#8688](https://github.com/openlayers/openlayers/pull/8688) - Fix PointerEventHandler event type ([@fredj](https://github.com/fredj))
* [#8686](https://github.com/openlayers/openlayers/pull/8686) - Remove extra imports in jsdoc ([@fredj](https://github.com/fredj))
* [#8681](https://github.com/openlayers/openlayers/pull/8681) - Check the type of the source before using it ([@wallw-bits](https://github.com/wallw-bits))
* [#8691](https://github.com/openlayers/openlayers/pull/8691) - Fix assertion error documentation URL ([@romanzoller](https://github.com/romanzoller))
* [#8692](https://github.com/openlayers/openlayers/pull/8692) - Type check fixes for Cluster source ([@wallw-bits](https://github.com/wallw-bits))
* [#8677](https://github.com/openlayers/openlayers/pull/8677) - Type check fixes for VectorSource ([@wallw-bits](https://github.com/wallw-bits))
* [#8684](https://github.com/openlayers/openlayers/pull/8684) - Define BingMapsImageryMetadataResponse type ([@wallw-bits](https://github.com/wallw-bits))
* [#8690](https://github.com/openlayers/openlayers/pull/8690) - Fix type checks in CartoDB ([@wallw-bits](https://github.com/wallw-bits))
* [#8693](https://github.com/openlayers/openlayers/pull/8693) - Fix type check errors for Image source ([@wallw-bits](https://github.com/wallw-bits))
* [#8672](https://github.com/openlayers/openlayers/pull/8672) - Fix source type in Raster source ([@fredj](https://github.com/fredj))
* [#8665](https://github.com/openlayers/openlayers/pull/8665) - Fix type check errors in RBush ([@wallw-bits](https://github.com/wallw-bits))
* [#8680](https://github.com/openlayers/openlayers/pull/8680) - TypeScript fixes for ol/events ([@schmidtk](https://github.com/schmidtk))
* [#8678](https://github.com/openlayers/openlayers/pull/8678) - Ensure image is Image or Video before settings src ([@wallw-bits](https://github.com/wallw-bits))
* [#8676](https://github.com/openlayers/openlayers/pull/8676) - Cast tileGrid to WMTSTileGrid for type check ([@wallw-bits](https://github.com/wallw-bits))
* [#8679](https://github.com/openlayers/openlayers/pull/8679) - Type check fixes in Triangulation ([@wallw-bits](https://github.com/wallw-bits))
* [#8657](https://github.com/openlayers/openlayers/pull/8657) - Typescript fixes ([@fgravin](https://github.com/fgravin))
* [#8671](https://github.com/openlayers/openlayers/pull/8671) - Fix typescript in FeatureLoader ([@fgravin](https://github.com/fgravin))
* [#8675](https://github.com/openlayers/openlayers/pull/8675) - Get width as number from number|Size ([@wallw-bits](https://github.com/wallw-bits))
* [#8654](https://github.com/openlayers/openlayers/pull/8654) - Remove extra imports in jsdoc ([@fredj](https://github.com/fredj))
* [#8655](https://github.com/openlayers/openlayers/pull/8655) - Remove webkit specific properties from Touch ([@fredj](https://github.com/fredj))
* [#8663](https://github.com/openlayers/openlayers/pull/8663) - Add vendor-specific TS declarations for the Fullscreen API. ([@schmidtk](https://github.com/schmidtk))
* [#8658](https://github.com/openlayers/openlayers/pull/8658) - Don't define functions in the prototype ([@fredj](https://github.com/fredj))
* [#8662](https://github.com/openlayers/openlayers/pull/8662) - Explicitly define type of 'this' ([@wallw-bits](https://github.com/wallw-bits))
* [#8664](https://github.com/openlayers/openlayers/pull/8664) - Add native Event to ListenerFunction signature. ([@schmidtk](https://github.com/schmidtk))
* [#8668](https://github.com/openlayers/openlayers/pull/8668) - Add missing 'module' annotation ([@fredj](https://github.com/fredj))
* [#8643](https://github.com/openlayers/openlayers/pull/8643) - Fix style TypeScript errors ([@schmidtk](https://github.com/schmidtk))
* [#8638](https://github.com/openlayers/openlayers/pull/8638) - Fix event type in hasListener check ([@ahocevar](https://github.com/ahocevar))
* [#8618](https://github.com/openlayers/openlayers/pull/8618) - Use TopoJSON types from @types/topojson ([@fredj](https://github.com/fredj))
* [#8619](https://github.com/openlayers/openlayers/pull/8619) - Remove wrong Geometry type in KML format ([@fredj](https://github.com/fredj))
* [#8627](https://github.com/openlayers/openlayers/pull/8627) - Fix several type imports ([@ahocevar](https://github.com/ahocevar))
* [#8629](https://github.com/openlayers/openlayers/pull/8629) - Enable circle primitive in draw-shapes example ([@megawac](https://github.com/megawac))
* [#8626](https://github.com/openlayers/openlayers/pull/8626) - Better type annotations / type casts ([@marcjansen](https://github.com/marcjansen))
* [#8622](https://github.com/openlayers/openlayers/pull/8622) - Remove unused method ([@tschaub](https://github.com/tschaub))
* [#8615](https://github.com/openlayers/openlayers/pull/8615) - Use GeoJSON types from @types/geojson ([@tschaub](https://github.com/tschaub))
* [#8609](https://github.com/openlayers/openlayers/pull/8609) - Remove extra imports in jsdoc ([@fredj](https://github.com/fredj))
* [#8613](https://github.com/openlayers/openlayers/pull/8613) - Lazily detect tainted canvas ([@ahocevar](https://github.com/ahocevar))
* [#8610](https://github.com/openlayers/openlayers/pull/8610) - Sensible touch behavior of the MousePosition control ([@ahocevar](https://github.com/ahocevar))
* [#8602](https://github.com/openlayers/openlayers/pull/8602) - Add missing map property in ol/layer/Layer constructor options ([@fredj](https://github.com/fredj))
* [#8607](https://github.com/openlayers/openlayers/pull/8607) - Listener return is boolean or void ([@tschaub](https://github.com/tschaub))
* [#8595](https://github.com/openlayers/openlayers/pull/8595) - Optional arguments and typedef properties ([@tschaub](https://github.com/tschaub))
* [#8594](https://github.com/openlayers/openlayers/pull/8594) - Remove extra imports in jsdoc ([@fredj](https://github.com/fredj))
* [#8596](https://github.com/openlayers/openlayers/pull/8596) - Add types for the UTFGrid and TileJSON JSON responses ([@tschaub](https://github.com/tschaub))
* [#8591](https://github.com/openlayers/openlayers/pull/8591) - Add missing properties in TextState typedef ([@fredj](https://github.com/fredj))
* [#8590](https://github.com/openlayers/openlayers/pull/8590) - Don't import ourselves ([@fredj](https://github.com/fredj))
* [#8586](https://github.com/openlayers/openlayers/pull/8586) - Cast 'originalEvent' in interactions ([@fredj](https://github.com/fredj))
* [#8588](https://github.com/openlayers/openlayers/pull/8588) - Rework createXYZ ([@tschaub](https://github.com/tschaub))
* [#8587](https://github.com/openlayers/openlayers/pull/8587) - Add a statement to trigger TypeScript checking ([@tschaub](https://github.com/tschaub))
* [#8345](https://github.com/openlayers/openlayers/pull/8345) - TypeScript (1/n) ([@tschaub](https://github.com/tschaub))
* [#8579](https://github.com/openlayers/openlayers/pull/8579) - Better type annotation ([@marcjansen](https://github.com/marcjansen))
* [#8580](https://github.com/openlayers/openlayers/pull/8580) - Cast POINTER_ID before comparison ([@marcjansen](https://github.com/marcjansen))
* [#8574](https://github.com/openlayers/openlayers/pull/8574) - Rename Extent to ExtentInteraction ([@fredj](https://github.com/fredj))
* [#8577](https://github.com/openlayers/openlayers/pull/8577) - Remove geojson.js extern inclusion in tasks/generate-info ([@fredj](https://github.com/fredj))
* [#8573](https://github.com/openlayers/openlayers/pull/8573) - Fix freehand polygon drawing ([@fredj](https://github.com/fredj))
* [#8572](https://github.com/openlayers/openlayers/pull/8572) - typescript misc fixes ([@fredj](https://github.com/fredj))
* [#8569](https://github.com/openlayers/openlayers/pull/8569) - Make proj~get simpler and faster ([@ahocevar](https://github.com/ahocevar))
* [#8567](https://github.com/openlayers/openlayers/pull/8567) - Use 'Element' type instead of 'Node' ([@fredj](https://github.com/fredj))
* [#8558](https://github.com/openlayers/openlayers/pull/8558) - Fix default zIndex value and documentation for layer options ([@fredj](https://github.com/fredj))
* [#8555](https://github.com/openlayers/openlayers/pull/8555) - Do not minify examples that inject code into workers ([@ahocevar](https://github.com/ahocevar))
* [#8557](https://github.com/openlayers/openlayers/pull/8557) - Fix typo in release notes ([@ahocevar](https://github.com/ahocevar))
<details>
<summary>Dependency Updates</summary>
* [#8884](https://github.com/openlayers/openlayers/pull/8884) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8880](https://github.com/openlayers/openlayers/pull/8880) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8872](https://github.com/openlayers/openlayers/pull/8872) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8860](https://github.com/openlayers/openlayers/pull/8860) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8855](https://github.com/openlayers/openlayers/pull/8855) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8838](https://github.com/openlayers/openlayers/pull/8838) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8834](https://github.com/openlayers/openlayers/pull/8834) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8799](https://github.com/openlayers/openlayers/pull/8799) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8796](https://github.com/openlayers/openlayers/pull/8796) - Update rollup-plugin-commonjs to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8793](https://github.com/openlayers/openlayers/pull/8793) - Update rollup-plugin-buble to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8794](https://github.com/openlayers/openlayers/pull/8794) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8788](https://github.com/openlayers/openlayers/pull/8788) - Update front-matter to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8785](https://github.com/openlayers/openlayers/pull/8785) - chore(package): update rollup to version 0.66.4 ([@openlayers](https://github.com/openlayers))
* [#8719](https://github.com/openlayers/openlayers/pull/8719) - Update marked to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8714](https://github.com/openlayers/openlayers/pull/8714) - chore(package): update webpack to version 4.20.2 ([@openlayers](https://github.com/openlayers))
* [#8703](https://github.com/openlayers/openlayers/pull/8703) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8646](https://github.com/openlayers/openlayers/pull/8646) - Update mustache to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8645](https://github.com/openlayers/openlayers/pull/8645) - Update rollup-plugin-uglify to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8685](https://github.com/openlayers/openlayers/pull/8685) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8683](https://github.com/openlayers/openlayers/pull/8683) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8656](https://github.com/openlayers/openlayers/pull/8656) - chore(package): update rollup-plugin-commonjs to version 9.1.8 ([@openlayers](https://github.com/openlayers))
* [#8667](https://github.com/openlayers/openlayers/pull/8667) - chore(package): update uglifyjs-webpack-plugin to version 2.0.1 ([@openlayers](https://github.com/openlayers))
* [#8661](https://github.com/openlayers/openlayers/pull/8661) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8644](https://github.com/openlayers/openlayers/pull/8644) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8631](https://github.com/openlayers/openlayers/pull/8631) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8630](https://github.com/openlayers/openlayers/pull/8630) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8617](https://github.com/openlayers/openlayers/pull/8617) - chore(package): update webpack to version 4.18.0 ([@openlayers](https://github.com/openlayers))
* [#8589](https://github.com/openlayers/openlayers/pull/8589) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8581](https://github.com/openlayers/openlayers/pull/8581) - Update rollup-plugin-node-resolve to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8585](https://github.com/openlayers/openlayers/pull/8585) - Update rollup to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8578](https://github.com/openlayers/openlayers/pull/8578) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8563](https://github.com/openlayers/openlayers/pull/8563) - Update rollup-plugin-uglify to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#8561](https://github.com/openlayers/openlayers/pull/8561) - Update rollup-plugin-uglify to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
</details>
+6 -5
View File
@@ -7,22 +7,23 @@
"allowUnknownTags": true "allowUnknownTags": true
}, },
"source": { "source": {
"includePattern": ".+\\.js(doc)?$", "includePattern": ".+\\.js$",
"excludePattern": "(^|\\/|\\\\)_", "excludePattern": "(^|\\/|\\\\)_",
"include": [ "include": [
"src/ol" "src/ol"
] ]
}, },
"plugins": [ "plugins": [
"plugins/markdown", "config/jsdoc/api/plugins/markdown",
"config/jsdoc/api/plugins/normalize-exports", "jsdoc-plugin-typescript",
"config/jsdoc/api/plugins/inline-options", "config/jsdoc/api/plugins/inline-options",
"config/jsdoc/api/plugins/inheritdoc",
"config/jsdoc/api/plugins/events", "config/jsdoc/api/plugins/events",
"config/jsdoc/api/plugins/observable", "config/jsdoc/api/plugins/observable",
"config/jsdoc/api/plugins/api" "config/jsdoc/api/plugins/api"
], ],
"markdown": { "typescript": {
"parser": "gfm" "moduleRoot": "src"
}, },
"templates": { "templates": {
"cleverLinks": true, "cleverLinks": true,
+29 -29
View File
@@ -1,43 +1,43 @@
<table><tr> <table><tr>
<th width="33.3%">Map</th><th width="33.3%">View</th><th width="33.3%">Layers</th> <th width="33.3%">Map</th><th width="33.3%">View</th><th width="33.3%">Layers</th>
</tr><tr> </tr><tr>
<td><p>A [map](module-ol_Map-Map.html) is made of [layers](module-ol_layer_Base-BaseLayer.html), a [view](module-ol_View-View.html) to visualize them, [interactions](module-ol_interaction_Interaction-Interaction.html) to modify map content and [controls](module-ol_control_Control-Control.html) with UI components.</p> <td><p>A <a href="module-ol_Map-Map.html">map</a> is made of <a href="module-ol_layer_Base-BaseLayer.html">layers</a>, a <a href="module-ol_View-View.html">view</a> to visualize them, <a href="module-ol_interaction_Interaction-Interaction.html">interactions</a> to modify map content and <a href="module-ol_control_Control-Control.html">controls</a> with UI components.</p>
[Overview](module-ol_Map-Map.html)<br> <a href="module-ol_Map-Map.html">Overview</a><br>
[Creation](module-ol_Map-Map.html#Map)<br> <a href="module-ol_Map-Map.html#Map">Creation</a><br>
[Events](module-ol_MapBrowserEvent-MapBrowserEvent.html)</td> <a href="module-ol_MapBrowserEvent-MapBrowserEvent.html">Events</a></td>
<td><p>The view manages the visual parameters of the map view, like resolution or rotation.</p> <td><p>The view manages the visual parameters of the map view, like resolution or rotation.</p>
[View](module-ol_View-View.html) with center, projection, resolution and rotation</td> <a href="module-ol_View-View.html">View</a> with center, projection, resolution and rotation</td>
<td><p>Layers are lightweight containers that get their data from [sources](module-ol_source_Source-Source.html).</p> <td><p>Layers are lightweight containers that get their data from <a href="module-ol_source_Source-Source.html">sources</a>.</p>
[layer/Tile](module-ol_layer_Tile-TileLayer.html)<br> <a href="module-ol_layer_Tile-TileLayer.html">ol/layer/Tile</a><br>
[layer/Image](module-ol_layer_Image-ImageLayer.html)<br> <a href="module-ol_layer_Image-ImageLayer.html">ol/layer/Image</a><br>
[layer/Vector](module-ol_layer_Vector-VectorLayer.html)<br> <a href="module-ol_layer_Vector-VectorLayer.html">ol/layer/Vector</a><br>
[layer/VectorTile](module-ol_layer_VectorTile-VectorTileLayer.html)</td> <a href="module-ol_layer_VectorTile-VectorTileLayer.html">ol/layer/VectorTile</a></td>
</tr><tr> </tr><tr>
<th>Controls</th><th>Interactions</th><th>Sources and formats</th> <th>Controls</th><th>Interactions</th><th>Sources and formats</th>
</tr><tr> </tr><tr>
<td>[Map default controls](module-ol_control_util.html#.defaults)<br> <td><a href="module-ol_control_util.html#.defaults">Map default controls</a><br>
[All controls](module-ol_control_Control-Control.html) <a href="module-ol_control_Control-Control.html">All controls</a>
</td> </td>
<td> <td>
[Map default interactions](module-ol_interaction.html#~defaults)<br> <a href="module-ol_interaction.html#~defaults">Map default interactions</a><br>
Interactions for [vector features](module-ol_Feature-Feature.html) Interactions for <a href="module-ol_Feature-Feature.html">vector features</a>
<ul><li>[interaction/Select](module-ol_interaction_Select-Select.html)</li> <ul><li><a href="module-ol_interaction_Select-Select.html">ol/interaction/Select</a></li>
<li>[interaction/Draw](module-ol_interaction_Draw-Draw.html)</li> <li><a href="module-ol_interaction_Draw-Draw.html">ol/interaction/Draw</a></li>
<li>[interaction/Modify](module-ol_interaction_Modify-Modify.html)</li></ul> <li><a href="module-ol_interaction_Modify-Modify.html">ol/interaction/Modify</a></li></ul>
[All interactions](module-ol_interaction_Interaction-Interaction.html)</td> <a href="module-ol_interaction_Interaction-Interaction.html">All interactions</a></td>
<td>[Tile sources](module-ol_source_Tile-TileSource.html) for [layer/Tile](module-ol_layer_Tile-TileLayer.html) <td><a href="module-ol_source_Tile-TileSource.html">Tile sources</a> for <a href="module-ol_layer_Tile-TileLayer.html">ol/layer/Tile</a>
<br>[Image sources](module-ol_source_Image-ImageSource.html) for [layer/Image](module-ol_layer_Image-ImageLayer.html) <br><a href="module-ol_source_Image-ImageSource.html">Image sources</a> for <a href="module-ol_layer_Image-ImageLayer.html">ol/layer/Image</a>
<br>[Vector sources](module-ol_source_Vector-VectorSource.html) for [layer/Vector](module-ol_layer_Vector-VectorLayer.html) <br><a href="module-ol_source_Vector-VectorSource.html">Vector sources</a> for <a href="module-ol_layer_Vector-VectorLayer.html">ol/layer/Vector</a>
<br>[Vector tile sources](module-ol_source_VectorTile-VectorTile.html) for [layer/VectorTile](module-ol_layer_VectorTile-VectorTileLayer.html) <br><a href="module-ol_source_VectorTile-VectorTile.html">Vector tile sources</a> for <a href="module-ol_layer_VectorTile-VectorTileLayer.html">ol/layer/VectorTile</a>
<br>[Formats](module-ol_format_Feature-FeatureFormat.html) for reading/writing vector data <br><a href="module-ol_format_Feature-FeatureFormat.html">Formats</a> for reading/writing vector data
<br>[format/WMSCapabilities](module-ol_format_WMSCapabilities-WMSCapabilities.html)</td></tr> <br><a href="module-ol_format_WMSCapabilities-WMSCapabilities.html">ol/format/WMSCapabilities</a></td></tr>
<tr><th>Projections</th><th>Observable objects</th><th>Other components</th></tr> <tr><th>Projections</th><th>Observable objects</th><th>Other components</th></tr>
<tr><td><p>All coordinates and extents need to be provided in view projection (default: EPSG:3857). To transform, use [proj.transform()](module-ol_proj.html#.transform) and [proj.transformExtent()](module-ol_proj.html#.transformExtent).</p> <tr><td><p>All coordinates and extents need to be provided in view projection (default: EPSG:3857). To transform, use <a href="module-ol_proj.html#.transform">ol/proj#transform()</a> and <a href="module-ol_proj.html#.transformExtent">ol/proj#transformExtent()</a>.</p>
[ol/proj](module-ol_proj.html)</td> <a href="module-ol_proj.html">ol/proj</a></td>
<td><p>Changes to all [ol/Object](module-ol_Object-BaseObject.html)s can be observed by calling the [object.on('propertychange')](module-ol_Object-BaseObject.html#on) method. Listeners receive an [ol/Object~ObjectEvent](module-ol_Object-ObjectEvent.html) with information on the changed property and old value.</p> <td><p>Changes to all <a href="module-ol_Object-BaseObject.html">ol/Object</a>s can be observed by calling the <a href="module-ol_Object-BaseObject.html#on">object.on('propertychange')</a> method. Listeners receive an <a href="module-ol_Object-ObjectEvent.html">ol/Object.ObjectEvent</a> with information on the changed property and old value.</p>
<td> <td>
[ol/Geolocation](module-ol_Geolocation.html)<br> <a href="module-ol_Geolocation.html">ol/Geolocation</a><br>
[ol/Overlay](module-ol_Overlay-Overlay.html)<br></td> <a href="module-ol_Overlay-Overlay.html">ol/Overlay</a><br></td>
</tr></table> </tr></table>
&nbsp; &nbsp;
+37 -11
View File
@@ -31,6 +31,24 @@ function hasApiMembers(doclet) {
} }
function includeAugments(doclet) { function includeAugments(doclet) {
// Make sure that `observables` and `fires` are taken from an already processed `class` doclet.
// This is necessary because JSDoc generates multiple doclets with the same longname.
const cls = classes[doclet.longname];
if (cls.observables && !doclet.observables) {
doclet.observables = cls.observables;
}
if (doclet.fires && cls.fires) {
for (let i = 0, ii = cls.fires.length; i < ii; ++i) {
const fires = cls.fires[i];
if (doclet.fires.indexOf(fires) == -1) {
doclet.fires.push(fires);
}
}
}
if (cls.fires && !doclet.fires) {
doclet.fires = cls.fires;
}
const augments = doclet.augments; const augments = doclet.augments;
if (augments) { if (augments) {
let cls; let cls;
@@ -59,7 +77,9 @@ function includeAugments(doclet) {
}); });
} }
cls._hideConstructor = true; cls._hideConstructor = true;
delete cls.undocumented; if (!cls.undocumented) {
cls._documented = true;
}
} }
} }
} }
@@ -95,17 +115,20 @@ exports.handlers = {
newDoclet: function(e) { newDoclet: function(e) {
const doclet = e.doclet; const doclet = e.doclet;
if (doclet.stability) { if (doclet.stability) {
modules[doclet.longname.split('~').shift()] = true; modules[doclet.longname.split(/[~\.]/).shift()] = true;
api.push(doclet); api.push(doclet);
} }
// Mark explicity defined namespaces - needed in parseComplete to keep
// namespaces that we need as containers for api items.
if (/.*\.jsdoc$/.test(doclet.meta.filename) && doclet.kind == 'namespace') {
doclet.namespace_ = true;
}
if (doclet.kind == 'class') { if (doclet.kind == 'class') {
modules[doclet.longname.split('~').shift()] = true; modules[doclet.longname.split(/[~\.]/).shift()] = true;
classes[doclet.longname] = doclet; if (!(doclet.longname in classes)) {
classes[doclet.longname] = doclet;
} else if ('augments' in doclet) {
classes[doclet.longname].augments = doclet.augments;
}
}
if (doclet.name === doclet.longname && !doclet.memberof) {
// Make sure anonymous default exports are documented
doclet.setMemberof(doclet.longname);
} }
}, },
@@ -113,7 +136,7 @@ exports.handlers = {
const doclets = e.doclets; const doclets = e.doclets;
for (let i = doclets.length - 1; i >= 0; --i) { for (let i = doclets.length - 1; i >= 0; --i) {
const doclet = doclets[i]; const doclet = doclets[i];
if (doclet.stability || doclet.namespace_) { if (doclet.stability) {
if (doclet.kind == 'class') { if (doclet.kind == 'class') {
includeAugments(doclet); includeAugments(doclet);
} }
@@ -143,10 +166,13 @@ exports.handlers = {
// constructor from the docs. // constructor from the docs.
doclet._hideConstructor = true; doclet._hideConstructor = true;
includeAugments(doclet); includeAugments(doclet);
} else if (doclet.undocumented !== false && !doclet._hideConstructor && !(doclet.kind == 'typedef' && doclet.longname in types)) { } else if (!doclet._hideConstructor && !(doclet.kind == 'typedef' && doclet.longname in types)) {
// Remove all other undocumented symbols // Remove all other undocumented symbols
doclet.undocumented = true; doclet.undocumented = true;
} }
if (doclet._documented) {
delete doclet.undocumented;
}
} }
} }
+14 -18
View File
@@ -1,35 +1,32 @@
const events = {}; const events = {};
const classes = {};
exports.handlers = { exports.handlers = {
newDoclet: function(e) { newDoclet: function(e) {
const doclet = e.doclet; const doclet = e.doclet;
let cls; if (doclet.kind !== 'event') {
if (doclet.kind == 'event') { return;
cls = doclet.longname.split('#')[0];
if (!(cls in events)) {
events[cls] = [];
}
events[cls].push(doclet.longname);
} else if (doclet.kind == 'class') {
classes[doclet.longname] = doclet;
} }
const cls = doclet.longname.split('#')[0];
if (!(cls in events)) {
events[cls] = [];
}
events[cls].push(doclet.longname);
}, },
parseComplete: function(e) { parseComplete: function(e) {
const doclets = e.doclets; const doclets = e.doclets;
let doclet, i, ii, j, jj, event, fires; for (let i = 0, ii = doclets.length - 1; i < ii; ++i) {
for (i = 0, ii = doclets.length - 1; i < ii; ++i) { const doclet = doclets[i];
doclet = doclets[i];
if (doclet.fires) { if (doclet.fires) {
if (doclet.kind == 'class') { if (doclet.kind == 'class') {
fires = []; const fires = [];
for (j = 0, jj = doclet.fires.length; j < jj; ++j) { for (let j = 0, jj = doclet.fires.length; j < jj; ++j) {
event = doclet.fires[j].replace('event:', ''); const event = doclet.fires[j].replace('event:', '');
if (events[event]) { if (events[event]) {
fires.push.apply(fires, events[event]); fires.push.apply(fires, events[event]);
} else { } else if (doclet.fires[j] !== 'event:ObjectEvent') {
fires.push(doclet.fires[j]); fires.push(doclet.fires[j]);
} }
} }
@@ -40,4 +37,3 @@ exports.handlers = {
} }
}; };
+110
View File
@@ -0,0 +1,110 @@
/*
* This is a hack to prevent inheritDoc tags from entirely removing
* documentation of the method that inherits the documentation.
*/
exports.defineTags = function(dictionary) {
dictionary.defineTag('inheritDoc', {
mustHaveValue: false,
canHaveType: false,
canHaveName: false,
onTagged: function(doclet, tag) {
doclet.inheritdoc = true;
}
});
};
const lookup = {};
const incompleteByClass = {};
const keepKeys = ['comment', 'meta', 'name', 'memberof', 'longname', 'augment',
'stability'];
exports.handlers = {
newDoclet: function(e) {
const doclet = e.doclet;
let incompletes;
if (!(doclet.longname in lookup)) {
lookup[doclet.longname] = [];
}
lookup[doclet.longname].push(doclet);
if (doclet.inheritdoc) {
if (!(doclet.memberof in incompleteByClass)) {
incompleteByClass[doclet.memberof] = [];
}
incompletes = incompleteByClass[doclet.memberof];
if (incompletes.indexOf(doclet.name) == -1) {
incompletes.push(doclet.name);
}
}
},
parseComplete: function(e) {
let ancestors, candidate, candidates, doclet, i, j, k, l, key;
let incompleteDoclet, stability, incomplete, incompletes;
const doclets = e.doclets;
for (i = doclets.length - 1; i >= 0; --i) {
doclet = doclets[i];
if (doclet.augments) {
ancestors = [].concat(doclet.augments);
}
incompletes = incompleteByClass[doclet.longname];
if (ancestors && incompletes) {
// collect ancestors from the whole hierarchy
for (j = 0; j < ancestors.length; ++j) {
candidates = lookup[ancestors[j]];
if (candidates) {
for (k = candidates.length - 1; k >= 0; --k) {
candidate = candidates[k];
if (candidate.augments) {
ancestors = ancestors.concat(candidate.augments);
}
}
}
}
// walk through all inheritDoc members
for (j = incompletes.length - 1; j >= 0; --j) {
incomplete = incompletes[j];
candidates = lookup[doclet.longname + '#' + incomplete];
if (candidates) {
// get the incomplete doclet that needs to be augmented
for (k = candidates.length - 1; k >= 0; --k) {
incompleteDoclet = candidates[k];
if (incompleteDoclet.inheritdoc) {
break;
}
}
}
// find the documented ancestor
for (k = ancestors.length - 1; k >= 0; --k) {
candidates = lookup[ancestors[k] + '#' + incomplete];
if (candidates) {
for (l = candidates.length - 1; l >= 0; --l) {
candidate = candidates[l];
if (candidate && !candidate.inheritdoc) {
stability = candidate.stability || incompleteDoclet.stability;
if (stability) {
incompleteDoclet.stability = stability;
for (key in candidate) {
if (candidate.hasOwnProperty(key) &&
keepKeys.indexOf(key) == -1) {
incompleteDoclet[key] = candidate[key];
}
}
// We have found a matching parent doc and applied it so we
// don't want to ignore this doclet anymore.
incompleteDoclet.ignore = false;
// We found a match so we can stop break
break;
}
}
}
}
}
}
}
}
}
};
+111
View File
@@ -0,0 +1,111 @@
/**
* Modified from JSDoc's plugins/markdown and lib/jsdoc/util/markdown modules
* (see https://github.com/jsdoc3/jsdoc/), which are licensed under the Apache 2
* license (see http://www.apache.org/licenses/LICENSE-2.0).
*
* This version does not protect http(s) urls from being turned into links, and
* works around an issue with `~` characters in module paths by escaping them.
*/
const marked = require('marked');
const format = require('util').format;
const tags = [
'author',
'classdesc',
'description',
'exceptions',
'params',
'properties',
'returns',
'see',
'summary'
];
const hasOwnProp = Object.prototype.hasOwnProperty;
const markedRenderer = new marked.Renderer();
// Allow prettyprint to work on inline code samples
markedRenderer.code = function(code, language) {
const langClass = language ? ' lang-' + language : '';
return format('<pre class="prettyprint source%s"><code>%s</code></pre>',
langClass, escapeCode(code));
};
function escapeCode(source) {
return source.replace(/</g, '&lt;')
.replace(/"/g, '&quot;')
.replace(/'/g, '&#39;');
}
function escapeUnderscoresAndTildes(source) {
return source.replace(/\{@[^}\r\n]+\}/g, function(wholeMatch) {
return wholeMatch
.replace(/(^|[^\\])_/g, '$1\\_')
.replace('~', '&tilde;');
});
}
function unencodeQuotesAndTildes(source) {
return source.replace(/\{@[^}\r\n]+\}/g, function(wholeMatch) {
return wholeMatch
.replace(/&quot;/g, '"')
.replace(/&tilde;/g, '~');
});
}
function parse(source) {
let result;
source = escapeUnderscoresAndTildes(source);
result = marked(source, {renderer: markedRenderer})
.replace(/\s+$/, '')
.replace(/&#39;/g, '\'');
result = unencodeQuotesAndTildes(result);
return result;
}
function shouldProcessString(tagName, text) {
let shouldProcess = true;
// we only want to process `@author` and `@see` tags that contain Markdown links
if ((tagName === 'author' || tagName === 'see') && text.indexOf('[') === -1) {
shouldProcess = false;
}
return shouldProcess;
}
function process(doclet) {
tags.forEach(function(tag) {
if (!hasOwnProp.call(doclet, tag)) {
return;
}
if (typeof doclet[tag] === 'string' && shouldProcessString(tag, doclet[tag])) {
doclet[tag] = parse(doclet[tag]);
} else if (Array.isArray(doclet[tag])) {
doclet[tag].forEach(function(value, index, original) {
const inner = {};
inner[tag] = value;
process(inner);
original[index] = inner[tag];
});
} else if (doclet[tag]) {
process(doclet[tag]);
}
});
}
exports.handlers = {
newDoclet: function(e) {
process(e.doclet);
}
};
@@ -1,106 +0,0 @@
/**
* @filedesc
* Expands module path type to point to default export when no name is given
*/
const fs = require('fs');
const path = require('path');
let moduleRoot;
function addDefaultExportPath(obj) {
if (!Array.isArray(obj)) {
obj = obj.names;
}
obj.forEach((name, index) => {
const matches = name.match(/module\:([^>|),\.<]|)+/g);
if (matches) {
matches.forEach(module => {
if (!/[~\.]/.test(module)) {
const checkFile = path.resolve(moduleRoot, module.replace(/^module\:/, ''));
const file = fs.readFileSync(require.resolve(checkFile), 'utf-8');
const lines = file.split('\n');
let hasDefaultExport = false;
for (let i = 0, ii = lines.length; i < ii; ++i) {
hasDefaultExport = hasDefaultExport || /^export default [^\{]/.test(lines[i]);
const match = lines[i].match(/^export default ([A-Za-z_$][A-Za-z0-9_$]+);$/);
if (match) {
// Use variable name if default export is assigned to a variable.
obj[index] = name = name.replace(module, `${module}~${match[1]}`);
return;
}
}
if (hasDefaultExport) {
// Duplicate last part if default export is not assigned to a variable.
obj[index] = name = name.replace(module, `${module}~${module.split('/').pop()}`);
}
}
});
}
});
}
function replaceLinks(comment) {
const matches = comment.match(/\{@link [^\} #]+}/g);
if (matches) {
const modules = matches.map(m => {
const mm = m.match(/(module:[^\}]+)}$/);
if (mm) {
return mm[1];
}
}).filter(m => !!m);
const newModules = modules.concat();
addDefaultExportPath(newModules);
modules.forEach((module, i) => {
comment = comment.replace(module, newModules[i]);
});
}
return comment;
}
exports.handlers = {
/**
* Adds default export to module path types without name
* @param {Object} e Event object.
*/
newDoclet: function(e) {
const doclet = e.doclet;
if (doclet.kind == 'module') {
const levelsUp = doclet.longname.replace(/^module\:/, '').split('/');
if (doclet.meta.filename != 'index.js') {
levelsUp.pop();
}
const pathArgs = [doclet.meta.path].concat(levelsUp.map(() => '../'));
moduleRoot = path.resolve.apply(null, pathArgs);
} else {
if (doclet.description) {
doclet.description = replaceLinks(doclet.description);
}
if (doclet.classdesc) {
doclet.classdesc = replaceLinks(doclet.classdesc);
}
const module = doclet.longname.split('#').shift();
if (module.indexOf('module:') == 0 && module.indexOf('.') !== -1) {
doclet.longname = doclet.longname.replace(module, module.replace('.', '~'));
}
if (doclet.augments) {
addDefaultExportPath(doclet.augments);
}
if (doclet.params) {
doclet.params.forEach(p => addDefaultExportPath(p.type));
}
if (doclet.returns) {
doclet.returns.forEach(r => addDefaultExportPath(r.type));
}
if (doclet.properties) {
doclet.properties.forEach(p => addDefaultExportPath(p.type));
}
if (doclet.type) {
addDefaultExportPath(doclet.type);
}
}
}
};
+2 -2
View File
@@ -5,7 +5,7 @@ exports.handlers = {
newDoclet: function(e) { newDoclet: function(e) {
const doclet = e.doclet; const doclet = e.doclet;
if (doclet.kind == 'class') { if (doclet.kind == 'class' && !(doclet.longname in classes)) {
classes[doclet.longname] = doclet; classes[doclet.longname] = doclet;
} }
}, },
@@ -47,7 +47,7 @@ exports.handlers = {
if (!cls.fires) { if (!cls.fires) {
cls.fires = []; cls.fires = [];
} }
event = 'module:ol/Object~ObjectEvent#event:change:' + name; event = 'module:ol/Object.ObjectEvent#event:change:' + name;
if (cls.fires.indexOf(event) == -1) { if (cls.fires.indexOf(event) == -1) {
cls.fires.push(event); cls.fires.push(event);
} }
-85
View File
@@ -1,85 +0,0 @@
/*
* Changes @enum annotations into @typedef.
*/
// types that are undefined or typedefs containing undefined
let undefinedLikes = null;
/**
* Changes the description of the param if it is required.
* @param {Object} doclet The doclet.
* @returns {Object} The modified doclet.
*/
function markRequiredIfNeeded(doclet) {
const memberof = doclet.memberof;
if (!memberof) {
return doclet;
}
const types = doclet.type.names;
let isRequiredParam = true;
// iterate over all types that are like-undefined (see above for explanation)
for (let idx = undefinedLikes.length - 1; idx >= 0; idx--) {
const undefinedLike = undefinedLikes[idx];
// … if the current types contains a type that is undefined-like,
// it is not required.
if (types.indexOf(undefinedLike) != -1) {
isRequiredParam = false;
}
}
if (isRequiredParam) {
const reqSnippet = '<span class="required-option">Required.</span></p>';
const endsWithP = /<\/p>$/i;
let description = doclet.description;
if (description && endsWithP.test(description)) {
description = description.replace(endsWithP, ' ' + reqSnippet);
} else if (doclet.description === undefined) {
description = '<p>' + reqSnippet;
}
doclet.description = description;
}
return doclet;
}
/**
* Iterates over all doclets and finds the names of types that contain
* undefined. Stores the names in the global variable undefinedLikes, so
* that e.g. markRequiredIfNeeded can use these.
* @param {Array} doclets The doclets.
*/
function findTypesLikeUndefined(doclets) {
undefinedLikes = ['undefined']; // include type 'undefined' explicitly
for (let i = doclets.length - 1; i >= 0; --i) {
const doclet = doclets[i];
if (doclet.kind === 'typedef') {
const types = doclet.type.names;
if (types.indexOf('undefined') !== -1) {
// the typedef contains 'undefined', so it self is undefinedLike.
undefinedLikes.push(doclet.longname);
}
}
}
}
exports.handlers = {
newDoclet: function(e) {
const doclet = e.doclet;
if (doclet.isEnum) {
// We never export enums, so we document them like typedefs
doclet.kind = 'typedef';
delete doclet.isEnum;
}
},
parseComplete: function(e) {
const doclets = e.doclets;
findTypesLikeUndefined(doclets);
for (let i = doclets.length - 1; i >= 0; --i) {
markRequiredIfNeeded(doclets[i]);
}
}
};
+32 -48
View File
@@ -168,9 +168,9 @@ function generateSourceFiles(sourceFiles) {
* for display purposes. This function mutates the original arrays. * for display purposes. This function mutates the original arrays.
* *
* @private * @private
* @param {Array.<module:jsdoc/doclet.Doclet>} doclets - The array of classes and functions to * @param {Array<module:jsdoc/doclet.Doclet>} doclets - The array of classes and functions to
* check. * check.
* @param {Array.<module:jsdoc/doclet.Doclet>} modules - The array of module doclets to search. * @param {Array<module:jsdoc/doclet.Doclet>} modules - The array of module doclets to search.
*/ */
function attachModuleSymbols(doclets, modules) { function attachModuleSymbols(doclets, modules) {
const symbols = {}; const symbols = {};
@@ -214,55 +214,39 @@ function buildNav(members) {
} }
return 0; return 0;
}); });
function createEntry(type, v) {
return {
type: type,
longname: v.longname,
name: v.name,
classes: find({
kind: 'class',
memberof: v.longname
}).map(createEntry.bind(this, 'class')),
members: find({
kind: 'member',
memberof: v.longname
}),
methods: find({
kind: 'function',
memberof: v.longname
}),
typedefs: find({
kind: 'typedef',
memberof: v.longname
}),
events: find({
kind: 'event',
memberof: v.longname
})
};
}
_.each(merged, function(v) { _.each(merged, function(v) {
// exclude interfaces from sidebar // exclude interfaces from sidebar
if (v.interface !== true) { if (v.interface !== true) {
if (v.kind == 'module') { if (v.kind == 'module') {
nav.push({ nav.push(createEntry('module', v));
type: 'module',
longname: v.longname,
name: v.name,
members: find({
kind: 'member',
memberof: v.longname
}),
methods: find({
kind: 'function',
memberof: v.longname
}),
typedefs: find({
kind: 'typedef',
memberof: v.longname
}),
events: find({
kind: 'event',
memberof: v.longname
})
});
}
if (v.kind == 'class') {
nav.push({
type: 'class',
longname: v.longname,
name: v.name,
members: find({
kind: 'member',
memberof: v.longname
}),
methods: find({
kind: 'function',
memberof: v.longname
}),
typedefs: find({
kind: 'typedef',
memberof: v.longname
}),
fires: v.fires,
events: find({
kind: 'event',
memberof: v.longname
})
});
} }
} }
}); });
@@ -313,7 +297,7 @@ exports.publish = function(taffyData, opts, tutorials) {
if (example.match(/^\s*<caption>([\s\S]+?)<\/caption>(\s*[\n\r])([\s\S]+)$/i)) { if (example.match(/^\s*<caption>([\s\S]+?)<\/caption>(\s*[\n\r])([\s\S]+)$/i)) {
caption = RegExp.$1; caption = RegExp.$1;
code = RegExp.$3; code = RegExp.$3;
} }
return { return {
@@ -12,13 +12,18 @@ $(function () {
var $item = $(v); var $item = $(v);
if ($item.data('name') && regexp.test($item.data('name'))) { if ($item.data('name') && regexp.test($item.data('name'))) {
const container = $item.parent().parent().parent();
container.show();
container.closest('.itemMembers').show();
container.closest('.item').show();
$item.show(); $item.show();
$item.closest('.itemMembers').show(); $item.closest('.itemMembers').show();
$item.closest('.item').show(); $item.closest('.item').show();
} }
}); });
} else { } else {
$el.find('.item, .itemMembers').show(); $el.find('.item, .itemMembers').hide();
$('.navigation>ul>li').show();
} }
$el.find('.list').scrollTop(0); $el.find('.list').scrollTop(0);
@@ -30,7 +35,11 @@ $(function () {
}); });
// Show an item related a current documentation automatically // Show an item related a current documentation automatically
var filename = $('.page-title').data('filename').replace(/\.[a-z]+$/, ''); var filename = $('.page-title').data('filename')
.replace(/\.[a-z]+$/, '')
.replace('module-', 'module:')
.replace(/_/g, '/')
.replace(/-/g, '~');
var $currentItem = $('.navigation .item[data-name*="' + filename + '"]:eq(0)'); var $currentItem = $('.navigation .item[data-name*="' + filename + '"]:eq(0)');
if ($currentItem.length) { if ($currentItem.length) {
@@ -97,7 +106,8 @@ $(function () {
var anchors = $('.anchor'); var anchors = $('.anchor');
var _onHashChange = function () { var _onHashChange = function () {
var activeHash = window.document.location.hash var activeHash = window.document.location.hash
.replace(/\./g, '\\.'); // Escape dot in element id .replace(/\./g, '\\.') // Escape dot in element id
.replace(/\~/g, '\\~'); // Escape tilde in element id
anchors.removeClass('highlighted'); anchors.removeClass('highlighted');
+16 -2
View File
@@ -18,7 +18,7 @@
<sup class="variation"><?js= doc.variation ?></sup> <sup class="variation"><?js= doc.variation ?></sup>
<?js } ?></h2> <?js } ?></h2>
<br> <br>
<?js if (doc.stability || doc.kind == 'namespace') { <?js if (doc.stability || doc.kind == 'namespace' || doc.kind == 'module') {
var ancestors = doc.ancestors.map(a => a.replace(/>\./g, '>').replace(/\.</g, '<')).join('/'); var ancestors = doc.ancestors.map(a => a.replace(/>\./g, '>').replace(/\.</g, '<')).join('/');
var parts = []; var parts = [];
if (ancestors) { if (ancestors) {
@@ -26,7 +26,20 @@
} }
var importPath = parts.join('/'); var importPath = parts.join('/');
?> ?>
<pre class="prettyprint source"><code>import <?js= doc.name ?> from '<?js= importPath ?>';</code></pre> <?js
var nameParts = doc.name.split('/');
var moduleName = nameParts[nameParts.length - 1];
if(moduleName) {
var firstChar = moduleName.charAt(0);
moduleName = firstChar.toUpperCase() + moduleName.slice(1);
var isClassModule = firstChar.toUpperCase() === firstChar;
}
?>
<?js if (doc.kind == 'module' && !isClassModule && nameParts.length < 3) {?>
<pre class="prettyprint source"><code>import * as ol<?js= moduleName ?> from '<?js= doc.name ?>';</code></pre>
<?js } else if(doc.kind !== 'module') { ?>
<pre class="prettyprint source"><code>import <?js= doc.name ?> from '<?js= importPath ?>';</code></pre>
<?js } ?>
<?js } ?> <?js } ?>
<?js if (doc.classdesc) { ?> <?js if (doc.classdesc) { ?>
<div class="class-description"><?js= doc.classdesc ?></div> <div class="class-description"><?js= doc.classdesc ?></div>
@@ -143,6 +156,7 @@
<h3 class="subsection-title">Methods</h3> <h3 class="subsection-title">Methods</h3>
<dl><?js methods.forEach(function(m) { ?> <dl><?js methods.forEach(function(m) { ?>
<?js m.parent = doc ?>
<?js= self.partial('method.tmpl', m) ?> <?js= self.partial('method.tmpl', m) ?>
<?js }); ?></dl> <?js }); ?></dl>
<?js } ?> <?js } ?>
@@ -4,6 +4,63 @@ var version = obj.packageInfo.version;
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<script>
var gaProperty = 'UA-2577926-1';
// Disable tracking if the opt-out cookie exists.
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
window[disableStr] = true;
}
function gaOptout() {
document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
window[disableStr] = true;
}
function gaOptoutRevoke() {
document.cookie = disableStr + '=false; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
window[disableStr] = false;
}
</script>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-2577926-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-2577926-1', { 'anonymize_ip': true });
</script>
<link rel="stylesheet" type="text/css" href="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.css" />
<script src="//cdnjs.cloudflare.com/ajax/libs/cookieconsent2/3.1.0/cookieconsent.min.js"></script>
<script>
window.addEventListener("load", function() {
window.cookieconsent.initialise({
'palette': {
'popup': {
'background': '#eaf7f7',
'text': '#5c7291'
},
'button': {
'background': '#56cbdb',
'text': '#ffffff'
}
},
'theme': 'edgeless',
'type': 'opt-out',
'onInitialise': function (status) {
if (!this.hasConsented()) {
gaOptout()
}
},
'onStatusChange': function(status, chosenBefore) {
if (!this.hasConsented()) {
gaOptout()
}
},
'onRevokeChoice': function() {
gaOptoutRevoke()
}
})
});
</script>
<meta charset="utf-8"> <meta charset="utf-8">
<title>OpenLayers v<?js= version ?> API - <?js= title ?></title> <title>OpenLayers v<?js= version ?> API - <?js= title ?></title>
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=fetch"></script> <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=fetch"></script>
+1 -1
View File
@@ -14,7 +14,7 @@ if (data.type && data.type.names) {
<div class="anchor" id="<?js= id ?>"> <div class="anchor" id="<?js= id ?>">
</div> </div>
<h4 class="name"> <h4 class="name">
<?js= data.attribs + (data.scope === 'static' ? longname : name) + typeSignature ?> <?js= data.attribs + (data.scope === 'static' ? longname : name.indexOf('module:') === 0 ? name.split('/').pop() : name) + typeSignature ?>
<?js= this.partial('stability.tmpl', data) ?> <?js= this.partial('stability.tmpl', data) ?>
</h4> </h4>
</div> </div>
+5 -1
View File
@@ -27,6 +27,10 @@ var self = this;
</dt> </dt>
<dd class="<?js= (data.stability && data.stability !== 'stable') ? 'unstable' : '' ?>"> <dd class="<?js= (data.stability && data.stability !== 'stable') ? 'unstable' : '' ?>">
<?js if (data.parent && data.parent.kind == 'module' && data.parent.name.split('ol/').length < 3) { ?>
<pre class="prettyprint source"><code>import {<?js= data.name ?>} from '<?js= data.parent.name ?>';</code></pre>
<?js } ?>
<?js if (data.description) { ?> <?js if (data.description) { ?>
<div class="description"> <div class="description">
<?js= data.description ?> <?js= data.description ?>
@@ -77,7 +81,7 @@ var self = this;
(<?js= self.linkto(eventClass.longname) ?>) (<?js= self.linkto(eventClass.longname) ?>)
<?js } ?> <?js } ?>
<?js } ?> <?js } ?>
<?js= self.partial('stability.tmpl', eventDoclet || (data.stability ? data : {stability: 'experimental'})) ?> <?js= self.partial('stability.tmpl', eventDoclet || (data.stability ? data : {})) ?>
<?js if (description) { ?> - <?js if (description) { ?> -
<?js= description ?> <?js= description ?>
<?js } ?> <?js } ?>
+22 -6
View File
@@ -1,5 +1,8 @@
<?js <?js
var self = this; var self = this;
function toShortName(name) {
return name.indexOf('module:') === 0 ? name.split('/').pop() : name;
}
?> ?>
<div class="navigation"> <div class="navigation">
<div class="search"> <div class="search">
@@ -7,11 +10,12 @@ var self = this;
</div> </div>
<ul class="list"> <ul class="list">
<?js <?js
this.nav.forEach(function (item) { let navbuilder;
this.nav.forEach(navbuilder = function (item) {
?> ?>
<li class="item" data-name="<?js= item.longname ?>"> <li class="item" data-name="<?js= item.longname ?>">
<span class="title"> <span class="title">
<?js= self.linkto(item.longname, item.longname.replace('module:', '')) ?> <?js= self.linkto(item.longname, item.type === 'module' ? item.longname.replace('module:', '') : item.name) ?>
<?js if (item.type === 'namespace' && <?js if (item.type === 'namespace' &&
(item.members.length + item.typedefs.length + item.methods.length + (item.members.length + item.typedefs.length + item.methods.length +
item.events.length > 0)) { ?> item.events.length > 0)) { ?>
@@ -19,13 +23,25 @@ var self = this;
</span> </span>
<ul class="members itemMembers"> <ul class="members itemMembers">
<?js <?js
if (item.classes.length) {
?>
<span class="subtitle">Classes</span>
<?js
item.classes.forEach(function (v) {
navbuilder(v);
});
}
?>
</ul>
<ul class="members itemMembers">
<?js
if (item.members.length) { if (item.members.length) {
?> ?>
<span class="subtitle">Members</span> <span class="subtitle">Members</span>
<?js <?js
item.members.forEach(function (v) { item.members.forEach(function (v) {
?> ?>
<li data-name="<?js= v.longname ?>"><?js= self.linkto(v.longname, v.name) ?></li> <li data-name="<?js= v.longname ?>"><?js= self.linkto(v.longname, toShortName(v.name)) ?></li>
<?js <?js
}); });
} }
@@ -40,7 +56,7 @@ var self = this;
item.typedefs.forEach(function (v) { item.typedefs.forEach(function (v) {
?> ?>
<li data-name="<?js= v.longname ?>" class="<?js= (v.stability && v.stability !== 'stable') ? 'unstable' : ''?>"> <li data-name="<?js= v.longname ?>" class="<?js= (v.stability && v.stability !== 'stable') ? 'unstable' : ''?>">
<?js= self.linkto(v.longname, v.name) ?> <?js= self.linkto(v.longname, toShortName(v.name)) ?>
</li> </li>
<?js <?js
}); });
@@ -57,7 +73,7 @@ var self = this;
item.methods.forEach(function (v) { item.methods.forEach(function (v) {
?> ?>
<li data-name="<?js= v.longname ?>" class="<?js= (v.stability && v.stability !== 'stable') ? 'unstable' : ''?>"> <li data-name="<?js= v.longname ?>" class="<?js= (v.stability && v.stability !== 'stable') ? 'unstable' : ''?>">
<?js= self.linkto(v.longname, v.name) ?> <?js= self.linkto(v.longname, toShortName(v.name)) ?>
</li> </li>
<?js <?js
}); });
@@ -74,7 +90,7 @@ var self = this;
v = self.find({longname: v})[0] || {longname: v, name: v.split(/#?event:/)[1]}; v = self.find({longname: v})[0] || {longname: v, name: v.split(/#?event:/)[1]};
?> ?>
<li data-name="<?js= v.longname ?>" class="<?js= (v.stability && v.stability != 'stable') ? 'unstable' : '' ?>"> <li data-name="<?js= v.longname ?>" class="<?js= (v.stability && v.stability != 'stable') ? 'unstable' : '' ?>">
<?js= self.linkto(v.longname, v.name) ?> <?js= self.linkto(v.longname, toShortName(v.name)) ?>
</li> </li>
<?js <?js
}); });
@@ -8,7 +8,7 @@
<th>Name</th> <th>Name</th>
<th>Type</th> <th>Type</th>
<th>Settable</th> <th>Settable</th>
<th><a href="module-ol_Object-ObjectEvent.html">ol/Object~ObjectEvent</a> type</th> <th><a href="module-ol_Object-ObjectEvent.html">ol/Object.ObjectEvent</a> type</th>
<th class="last">Description</th> <th class="last">Description</th>
</tr> </tr>
</thead> </thead>
+7 -2
View File
@@ -10,7 +10,12 @@
"includePattern": "\\.js$" "includePattern": "\\.js$"
}, },
"plugins": [ "plugins": [
"jsdoc-plugin-typescript",
"config/jsdoc/info/api-plugin", "config/jsdoc/info/api-plugin",
"config/jsdoc/info/module-plugin" "config/jsdoc/info/define-plugin",
] "config/jsdoc/info/virtual-plugin"
],
"typescript": {
"moduleRoot": "src"
}
} }
+35
View File
@@ -0,0 +1,35 @@
/**
* @fileoverview This plugin extracts info from boolean defines. This only
* handles boolean defines with the default value in the description. Default
* is assumed to be provided with something like "default is `true`" (case
* insensitive, with or without ticks).
*/
const DEFAULT_VALUE = /default\s+is\s+`?(true|false)`?/i;
/**
* Hook to define new tags.
* @param {Object} dictionary The tag dictionary.
*/
exports.defineTags = function(dictionary) {
dictionary.defineTag('define', {
canHaveType: true,
mustHaveValue: true,
onTagged: function(doclet, tag) {
const types = tag.value.type.names;
if (types.length === 1 && types[0] === 'boolean') {
const match = tag.value.description.match(DEFAULT_VALUE);
if (match) {
doclet.define = {
default: match[1] === 'true'
};
doclet.description = tag.value.description;
}
}
}
});
};
-135
View File
@@ -1,135 +0,0 @@
const path = require('path');
const exportLookup = {};
const moduleLookup = {};
const MODULE_PATH = /^module:(.*)~(\w+)$/;
/**
* Add exports to modules.
*/
exports.handlers = {
symbolFound(event) {
const filename = event.filename;
const node = event.astnode;
let local, exported;
switch (node.type) {
case 'ExportDefaultDeclaration': {
exported = 'default';
switch (node.declaration.type) {
case 'Identifier': {
// export default foo;
local = node.declaration.name;
break;
}
case 'FunctionDeclaration': {
if (!node.declaration.id) {
// export default function() {}
local = '';
} else {
// export default function foo() {}
local = node.declaration.id.name;
}
break;
}
default: {
local = '';
}
}
break;
}
case 'ExportNamedDeclaration': {
if (!node.declaration) {
// export {foo}
// export {foo as bar}
// handled below in ExportSpecifier
return;
}
switch (node.declaration.type) {
case 'FunctionDeclaration': {
if (!node.declaration.id) {
throw new Error(`Expected function declaration to have an id in ${filename}`);
}
const name = node.declaration.id.name;
local = name;
exported = name;
break;
}
default: {
return;
}
}
break;
}
case 'ExportSpecifier': {
if (node.exported.type === 'Identifier') {
exported = node.exported.name;
if (node.local.type === 'Identifier') {
local = node.local.name;
if (node.parent.source) {
const resolved = path.resolve(path.dirname(filename), node.parent.source.value);
local = `module:${resolved}~${local}`;
}
} else {
local = '';
}
} else {
return;
}
break;
}
default: {
return;
}
}
if (!(filename in exportLookup)) {
exportLookup[filename] = {};
}
const exports = exportLookup[filename];
if (exports.hasOwnProperty(exported)) {
throw new Error(`Duplicate export {${local} as ${exported}} in ${filename}`);
}
exports[exported] = local;
},
newDoclet(event) {
const doclet = event.doclet;
if (doclet.kind === 'module') {
const filepath = path.join(doclet.meta.path, doclet.meta.filename);
if (filepath in moduleLookup) {
throw new Error(`Duplicate @module annotation in ${filepath}`);
}
moduleLookup[filepath] = doclet;
}
},
parseComplete(event) {
for (const filepath in moduleLookup) {
const doclet = moduleLookup[filepath];
const exports = exportLookup[filepath];
for (const exported in exports) {
const local = exports[exported];
const match = local.match(MODULE_PATH);
if (match) {
const filepath = match[1];
const mod = moduleLookup[filepath];
if (mod) {
exports[exported] = `module:${mod.name}~${match[2]}`;
}
}
}
doclet.exports = exports; // undefined if no exports
}
}
};
+15 -16
View File
@@ -1,5 +1,6 @@
/** /**
* @fileoverview Generates JSON output based on exportable symbols. * @fileoverview Generates JSON output based on exportable symbols (those with
* an api tag) and boolean defines (with a define tag and a default value).
*/ */
const assert = require('assert'); const assert = require('assert');
const path = require('path'); const path = require('path');
@@ -21,7 +22,7 @@ exports.publish = function(data, opts) {
return types; return types;
} }
// get all doclets with the "api" property // get all doclets with the "api" property or define (excluding events)
const classes = {}; const classes = {};
const docs = data( const docs = data(
[ [
@@ -33,7 +34,7 @@ exports.publish = function(data, opts) {
return true; return true;
} }
} }
return (this.kind === 'module' || typeof this.api == 'boolean' || return (typeof this.api == 'boolean' ||
this.meta && (/[\\\/]externs$/).test(this.meta.path)); this.meta && (/[\\\/]externs$/).test(this.meta.path));
} }
], ],
@@ -42,9 +43,9 @@ exports.publish = function(data, opts) {
// get symbols data, filter out those that are members of private classes // get symbols data, filter out those that are members of private classes
const symbols = []; const symbols = [];
const defines = [];
const typedefs = []; const typedefs = [];
const externs = []; const externs = [];
const modules = [];
let base = []; let base = [];
const augments = {}; const augments = {};
const symbolsByName = {}; const symbolsByName = {};
@@ -58,11 +59,13 @@ exports.publish = function(data, opts) {
} }
return include; return include;
}).forEach(function(doc) { }).forEach(function(doc) {
if (doc.kind == 'module') { const isExterns = (/[\\\/]externs$/).test(doc.meta.path);
modules.push({ if (doc.define) {
defines.push({
name: doc.longname, name: doc.longname,
exports: doc.exports || null, description: doc.description,
path: path.join(doc.meta.path, doc.meta.filename) path: path.join(doc.meta.path, doc.meta.filename),
default: doc.define.default
}); });
} else if (doc.kind == 'typedef' || doc.isEnum === true) { } else if (doc.kind == 'typedef' || doc.isEnum === true) {
typedefs.push({ typedefs.push({
@@ -79,9 +82,6 @@ exports.publish = function(data, opts) {
if (doc.augments) { if (doc.augments) {
symbol.extends = doc.augments[0]; symbol.extends = doc.augments[0];
} }
if (doc.memberof) {
symbol.memberof = doc.memberof;
}
if (doc.virtual) { if (doc.virtual) {
symbol.virtual = true; symbol.virtual = true;
} }
@@ -92,8 +92,7 @@ exports.publish = function(data, opts) {
const params = []; const params = [];
doc.params.forEach(function(param) { doc.params.forEach(function(param) {
const paramInfo = { const paramInfo = {
name: param.name, name: param.name
description: param.description
}; };
params.push(paramInfo); params.push(paramInfo);
paramInfo.types = getTypes(param.type.names); paramInfo.types = getTypes(param.type.names);
@@ -127,7 +126,7 @@ exports.publish = function(data, opts) {
}); });
} }
const target = doc.api ? symbols : base; const target = isExterns ? externs : (doc.api ? symbols : base);
const existingSymbol = symbolsByName[symbol.name]; const existingSymbol = symbolsByName[symbol.name];
if (existingSymbol) { if (existingSymbol) {
const idx = target.indexOf(existingSymbol); const idx = target.indexOf(existingSymbol);
@@ -156,10 +155,10 @@ exports.publish = function(data, opts) {
process.stdout.write( process.stdout.write(
JSON.stringify({ JSON.stringify({
symbols: symbols, symbols: symbols,
defines: defines,
typedefs: typedefs, typedefs: typedefs,
externs: externs, externs: externs,
base: base, base: base
modules: modules
}, null, 2)); }, null, 2));
}); });
+16
View File
@@ -0,0 +1,16 @@
/**
* Handle the interface and abstract annotations.
* @param {Object} dictionary The tag dictionary.
*/
exports.defineTags = function(dictionary) {
const classTag = dictionary.lookUp('class');
dictionary.defineTag('interface', {
mustHaveValue: false,
onTagged: function(doclet, tag) {
classTag.onTagged.apply(this, arguments);
doclet.virtual = true;
}
});
};
-21
View File
@@ -1,21 +0,0 @@
// Rollup configuration for the full build
import noderesolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import {uglify} from 'rollup-plugin-uglify';
import buble from 'rollup-plugin-buble';
import sourcemaps from 'rollup-plugin-sourcemaps';
export default {
input: 'src/index.js',
output: [
{file: 'build/ol.js', format: 'iife', sourcemap: true}
],
plugins: [
noderesolve(),
commonjs(),
buble(),
uglify(),
sourcemaps()
]
};
+64
View File
@@ -0,0 +1,64 @@
{
"compilerOptions": {
/* Basic Options */
"target": "ES5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */
"module": "es2015", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
// "lib": [], /* Specify library files to be included in the compilation. */
"allowJs": true, /* Allow javascript files to be compiled. */
// "checkJs": true, /* Report errors in .js files. */
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
// "declaration": true, /* Generates corresponding '.d.ts' file. */
// "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
"sourceMap": true, /* Generates corresponding '.map' file. */
// "outFile": "./", /* Concatenate and emit output to single file. */
"outDir": "../build/ol", /* Redirect output structure to the directory. */
// "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
// "composite": true, /* Enable project compilation */
// "removeComments": true, /* Do not emit comments to output. */
// "noEmit": true, /* Do not emit outputs. */
"importHelpers": false, /* Import emit helpers from 'tslib'. */
// "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
// "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
/* Strict Type-Checking Options */
"strict": false, /* Enable all strict type-checking options. */
// "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */
// "strictNullChecks": true, /* Enable strict null checks. */
// "strictFunctionTypes": true, /* Enable strict checking of function types. */
// "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
// "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */
// "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */
// "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */
/* Additional Checks */
// "noUnusedLocals": true, /* Report errors on unused locals. */
// "noUnusedParameters": true, /* Report errors on unused parameters. */
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
/* Module Resolution Options */
"moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */
// "baseUrl": "./", /* Base directory to resolve non-absolute module names. */
// "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
// "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */
// "typeRoots": [], /* List of folders to include type definitions from. */
// "types": [], /* Type declaration files to be included in compilation. */
// "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */
"esModuleInterop": false, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
// "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */
/* Source Map Options */
// "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */
// "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */
// "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */
"inlineSources": false /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
/* Experimental Options */
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
},
"include": [
"../build/ol/src/**/*.js"
],
"exclude": []
}
+13
View File
@@ -0,0 +1,13 @@
const path = require('path');
module.exports = {
entry: './build/index.js',
devtool: 'source-map',
mode: 'production',
output: {
path: path.resolve('./build/legacy'),
filename: 'ol.js',
library: 'ol',
libraryTarget: 'umd',
libraryExport: 'default'
}
};
+17 -1
View File
@@ -111,7 +111,7 @@ Features for `updates` must have an id set by the feature reader or `ol.Feature#
### 28 ### 28
`renderMode` must be `'image'`, `'hybrid'` or `'vector'`. `renderMode` must be `'image'` or `'hybrid'`.
### 29 ### 29
@@ -220,3 +220,19 @@ Duplicate item added to a unique collection. For example, it may be that you tr
### 59 ### 59
Invalid command found in the PBF. This indicates that the loaded vector tile may be corrupt. Invalid command found in the PBF. This indicates that the loaded vector tile may be corrupt.
### 60
Missing or invalid `size`.
### 61
Cannot determine IIIF Image API version from provided image information JSON.
### 62
A `WebGLArrayBuffer` must either be of type `ELEMENT_ARRAY_BUFFER` or `ARRAY_BUFFER`.
### 63
Support for the `OES_element_index_uint` WebGL extension is mandatory for WebGL layers.
+120 -54
View File
@@ -21,7 +21,7 @@ Table of contents:
* [Why aren't there any features in my source?](#why-aren-t-there-any-features-in-my-source-) * [Why aren't there any features in my source?](#why-aren-t-there-any-features-in-my-source-)
* [How do I force a re-render of the map?](#how-do-i-force-a-re-render-of-the-map-) * [How do I force a re-render of the map?](#how-do-i-force-a-re-render-of-the-map-)
* [Why are my features not found?](#why-are-my-features-not-found-) * [Why are my features not found?](#why-are-my-features-not-found-)
* [Why is zooming or clicking off, inaccurate?](#user-content-why-is-zooming-or-clicking-off-inaccurate)
## What projection is OpenLayers using? ## What projection is OpenLayers using?
@@ -54,9 +54,12 @@ The projection of your map can be set through the `view`-property. Here are some
examples: examples:
```javascript ```javascript
import Map from 'ol/Map';
import View from 'ol/View';
// OpenLayers comes with support for the World Geodetic System 1984, EPSG:4326: // OpenLayers comes with support for the World Geodetic System 1984, EPSG:4326:
var map = new ol.Map({ const map = new Map({
view: new ol.View({ view: new View({
projection: 'EPSG:4326' projection: 'EPSG:4326'
// other view properties like map center etc. // other view properties like map center etc.
}) })
@@ -65,24 +68,29 @@ var map = new ol.Map({
``` ```
```javascript ```javascript
// To use other projections, you have to register the projection in OpenLayers: import Map from 'ol/Map';
import View from 'ol/View';
import proj4 from 'proj4';
import {register} from 'ol/proj/proj4';
import {get as getProjection} from 'ol/proj';
// To use other projections, you have to register the projection in OpenLayers.
// This can easily be done with [https://proj4js.org](proj4)
// //
// By default OpenLayers does not know about the EPSG:21781 (Swiss) projection. // By default OpenLayers does not know about the EPSG:21781 (Swiss) projection.
// So we create a projection instance for EPSG:21781 and pass it to // So we create a projection instance for EPSG:21781 and pass it to
// ol.proj.addProjection to make it available to the library for lookup by its // register to make it available to the library for lookup by its
// code. // code.
var swissProjection = new ol.proj.Projection({ proj4.defs('EPSG:21781',
code: 'EPSG:21781', '+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 ' +
// The extent is used to determine zoom level 0. Recommended values for a '+x_0=600000 +y_0=200000 +ellps=bessel ' +
// projection's validity extent can be found at https://epsg.io/. '+towgs84=660.077,13.551,369.344,2.484,1.783,2.939,5.66 +units=m +no_defs');
extent: [485869.5728, 76443.1884, 837076.5648, 299941.7864], register(proj4);
units: 'm' const swissProjection = getProjection('EPSG:21781');
});
ol.proj.addProjection(swissProjection);
// we can now use the projection: // we can now use the projection:
var map = new ol.Map({ const map = new Map({
view: new ol.View({ view: new View({
projection: swissProjection projection: swissProjection
// other view properties like map center etc. // other view properties like map center etc.
}) })
@@ -105,15 +113,20 @@ coordinates for the center have to be provided in that projection. Chances are
that your map looks like this: that your map looks like this:
```javascript ```javascript
var washingtonLonLat = [-77.036667, 38.895]; import Map from 'ol/Map';
var map = new ol.Map({ import View from 'ol/View';
import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM';
const washingtonLonLat = [-77.036667, 38.895];
const map = new Map({
layers: [ layers: [
new ol.layer.Tile({ new TileLayer({
source: new ol.source.OSM() source: new OSM()
}) })
], ],
target: 'map', target: 'map',
view: new ol.View({ view: new View({
center: washingtonLonLat, center: washingtonLonLat,
zoom: 12 zoom: 12
}) })
@@ -129,31 +142,38 @@ The solution is easy: Provide the coordinates projected into Web Mercator.
OpenLayers has some helpful utility methods to assist you: OpenLayers has some helpful utility methods to assist you:
```javascript ```javascript
var washingtonLonLat = [-77.036667, 38.895]; import Map from 'ol/Map';
var washingtonWebMercator = ol.proj.fromLonLat(washingtonLonLat); import View from 'ol/View';
import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM';
import {fromLonLat} from 'ol/proj';
var map = new ol.Map({ const washingtonLonLat = [-77.036667, 38.895];
const washingtonWebMercator = fromLonLat(washingtonLonLat);
const map = new Map({
layers: [ layers: [
new ol.layer.Tile({ new TileLayer({
source: new ol.source.OSM() source: new OSM()
}) })
], ],
target: 'map', target: 'map',
view: new ol.View({ view: new View({
center: washingtonWebMercator, center: washingtonWebMercator,
zoom: 8 zoom: 8
}) })
}); });
``` ```
The method `ol.proj.fromLonLat()` is available from version 3.5 onwards. The method `fromLonLat()` is available from version 3.5 onwards.
If you told OpenLayers about a custom projection (see above), you can use the If you told OpenLayers about a custom projection (see above), you can use the
following method to transform a coordinate from WGS84 to your projection: following method to transform a coordinate from WGS84 to your projection:
```javascript ```javascript
import {transform} from 'ol/proj';
// assuming that OpenLayers knows about EPSG:21781, see above // assuming that OpenLayers knows about EPSG:21781, see above
var swissCoord = ol.proj.transform([8.23, 46.86], 'EPSG:4326', 'EPSG:21781'); const swissCoord = transform([8.23, 46.86], 'EPSG:4326', 'EPSG:21781');
``` ```
@@ -190,18 +210,24 @@ So the next step would be to put the decimal coordinates into an array and use
it as center: it as center:
```javascript ```javascript
var schladming = [47.394167, 13.689167]; // caution partner, read on... import Map from 'ol/Map';
// since we are using OSM, we have to transform the coordinates... import View from 'ol/View';
var schladmingWebMercator = ol.proj.fromLonLat(schladming); import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM';
import {fromLonLat} from 'ol/proj';
var map = new ol.Map({ const schladming = [47.394167, 13.689167]; // caution partner, read on...
// since we are using OSM, we have to transform the coordinates...
const schladmingWebMercator = fromLonLat(schladming);
const map = new Map({
layers: [ layers: [
new ol.layer.Tile({ new TileLayer({
source: new ol.source.OSM() source: new OSM()
}) })
], ],
target: 'map', target: 'map',
view: new ol.View({ view: new View({
center: schladmingWebMercator, center: schladmingWebMercator,
zoom: 9 zoom: 9
}) })
@@ -220,18 +246,24 @@ e.g. try to change the map center.
Ok, then let's flip the coordinates: Ok, then let's flip the coordinates:
```javascript ```javascript
var schladming = [13.689167, 47.394167]; // longitude first, then latitude import Map from 'ol/Map';
// since we are using OSM, we have to transform the coordinates... import View from 'ol/View';
var schladmingWebMercator = ol.proj.fromLonLat(schladming); import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM';
import {fromLonLat} from 'ol/proj';
var map = new ol.Map({ const schladming = [13.689167, 47.394167]; // longitude first, then latitude
// since we are using OSM, we have to transform the coordinates...
const schladmingWebMercator = fromLonLat(schladming);
const map = new Map({
layers: [ layers: [
new ol.layer.Tile({ new TileLayer({
source: new ol.source.OSM() source: new OSM()
}) })
], ],
target: 'map', target: 'map',
view: new ol.View({ view: new View({
center: schladmingWebMercator, center: schladmingWebMercator,
zoom: 9 zoom: 9
}) })
@@ -245,7 +277,7 @@ first, and then the latitude. This behaviour is the same as we had in OpenLayers
2, and it actually makes sense because of the natural axis order in WGS84. 2, and it actually makes sense because of the natural axis order in WGS84.
If you cannot remember the correct order, just have a look at the method name If you cannot remember the correct order, just have a look at the method name
we used: `ol.proj.fromLonLat`; even there we hint that we expect longitude we used: `fromLonLat`; even there we hint that we expect longitude
first, and then latitude. first, and then latitude.
@@ -255,8 +287,11 @@ Suppose you want to load a KML file and display the contained features on the
map. Code like the following could be used: map. Code like the following could be used:
```javascript ```javascript
var vector = new ol.layer.Vector({ import VectorLayer from 'ol/layer/Vector';
source: new ol.source.KML({ import KMLSource from 'ol/source/KML';
const vector = new VectorLayer({
source: new KMLSource({
projection: 'EPSG:3857', projection: 'EPSG:3857',
url: 'data/kml/2012-02-10.kml' url: 'data/kml/2012-02-10.kml'
}) })
@@ -267,13 +302,16 @@ You may ask yourself how many features are in that KML, and try something like
the following: the following:
```javascript ```javascript
var vector = new ol.layer.Vector({ import VectorLayer from 'ol/layer/Vector';
source: new ol.source.KML({ import KMLSource from 'ol/source/KML';
const vector = new VectorLayer({
source: new KMLSource({
projection: 'EPSG:3857', projection: 'EPSG:3857',
url: 'data/kml/2012-02-10.kml' url: 'data/kml/2012-02-10.kml'
}) })
}); });
var numFeatures = vector.getSource().getFeatures().length; const numFeatures = vector.getSource().getFeatures().length;
console.log("Count right after construction: " + numFeatures); console.log("Count right after construction: " + numFeatures);
``` ```
@@ -285,9 +323,9 @@ been populated with features), you should use an event listener function on the
```javascript ```javascript
vector.getSource().on('change', function(evt){ vector.getSource().on('change', function(evt){
var source = evt.target; const source = evt.target;
if (source.getState() === 'ready') { if (source.getState() === 'ready') {
var numFeatures = source.getFeatures().length; const numFeatures = source.getFeatures().length;
console.log("Count after change: " + numFeatures); console.log("Count after change: " + numFeatures);
} }
}); });
@@ -316,19 +354,47 @@ map.renderSync();
## Why are my features not found? ## Why are my features not found?
You are using `ol.Map#forEachFeatureAtPixel` or `ol.Map#hasFeatureAtPixel`, but You are using `Map#forEachFeatureAtPixel` or `Map#hasFeatureAtPixel`, but
it sometimes does not work for large icons or labels? The *hit detection* only it sometimes does not work for large icons or labels? The *hit detection* only
checks features that are within a certain distance of the given position. For large checks features that are within a certain distance of the given position. For large
icons, the actual geometry of a feature might be too far away and is not considered. icons, the actual geometry of a feature might be too far away and is not considered.
In this case, set the `renderBuffer` property of `ol.layer.Vector` (the default In this case, set the `renderBuffer` property of `VectorLayer` (the default value is 100px):
value is 100px):
```javascript ```javascript
var vectorLayer = new ol.layer.Vector({ import VectorLayer from 'ol/layer/Vector';
const vectorLayer = new VectorLayer({
... ...
renderBuffer: 200 renderBuffer: 200
}); });
``` ```
The recommended value is the size of the largest symbol, line width or label. The recommended value is the size of the largest symbol, line width or label.
## Why is zooming or clicking in the map off/inaccurate?
OpenLayers does not update the map when the container element is resized. This can be caused by progressive updates
to CSS styles or manually resizing the map. When that happens, any interaction will become inaccurate: the map would zoom in and out, and end up not being centered on the pointer. This makes it hard to do certain interactions, e.g. selecting the desired feature.
There is currently no built-in way to react to element's size changes, as [Resize Observer API](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver) is only implemented in Chrome.
There is however an easy to use [polyfill](https://github.com/que-etc/resize-observer-polyfill):
```javascript
import Map from 'ol/Map';
import ResizeObserver from 'resize-observer-polyfill';
const mapElement = document.querySelector('#map')
const map = new Map({
target: mapElement
})
const sizeObserver = new ResizeObserver(() => {
map.updateSize()
})
sizeObserver.observe(mapElement)
// called when the map is destroyed
// sizeObserver.disconnect()
```
+9 -4
View File
@@ -5,6 +5,11 @@ layout: doc.hbs
# Quick Start # Quick Start
This primer shows you how to put a simple map on a web page.
**For production, we strongly recommend bundling the application together with its dependencies, as explained in the [Building an OpenLayers Application](./tutorials/bundle.html) tutorial.**
## Put a map on a page ## Put a map on a page
Below you'll find a complete working example. Create a new file, copy in the contents below, and open in a browser: Below you'll find a complete working example. Create a new file, copy in the contents below, and open in a browser:
@@ -13,14 +18,14 @@ Below you'll find a complete working example. Create a new file, copy in the co
<!doctype html> <!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
<link rel="stylesheet" href="https://openlayers.org/en/{{ latest }}/css/ol.css" type="text/css"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/{{ latest }}/css/ol.css" type="text/css">
<style> <style>
.map { .map {
height: 400px; height: 400px;
width: 100%; width: 100%;
} }
</style> </style>
<script src="https://openlayers.org/en/{{ latest }}/build/ol.js" type="text/javascript"></script> <script src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/{{ latest }}/build/ol.js"></script>
<title>OpenLayers example</title> <title>OpenLayers example</title>
</head> </head>
<body> <body>
@@ -55,7 +60,7 @@ To include a map a web page you will need 3 things:
### Include OpenLayers ### Include OpenLayers
```xml ```xml
<script src="https://openlayers.org/en/{{ latest }}/build/ol.js" type="text/javascript"></script> <script src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/{{ latest }}/build/ol.js"></script>
``` ```
The first part is to include the JavaScript library. For the purpose of this tutorial, here we simply point to the openlayers.org website to get the whole library. In a production environment, we would build a custom version of the library including only the module needed for our application. The first part is to include the JavaScript library. For the purpose of this tutorial, here we simply point to the openlayers.org website to get the whole library. In a production environment, we would build a custom version of the library including only the module needed for our application.
@@ -125,7 +130,7 @@ The `layers: [ ... ]` array is used to define the list of layers available in th
] ]
``` ```
Layers in OpenLayers are defined with a type (Image, Tile or Vector) which contains a source. The source is the protocol used to get the map tiles. You can consult the list of [available layer sources here](/en/{{ latest }}/apidoc/ol.source.html) Layers in OpenLayers are defined with a type (Image, Tile or Vector) which contains a source. The source is the protocol used to get the map tiles.
The next part of the `Map` object is the `View`. The view allows to specify the center, resolution, and rotation of the map. The simplest way to define a view is to define a center point and a zoom level. Note that zoom level 0 is zoomed out. The next part of the `Map` object is the `View`. The view allows to specify the center, resolution, and rotation of the map. The simplest way to define a view is to define a center point and a zoom level. Note that zoom level 0 is zoomed out.
+49
View File
@@ -0,0 +1,49 @@
---
title: Introduction
layout: doc.hbs
---
# Introduction
## Objectives
OpenLayers is a modular, high-performance, feature-packed library for displaying and interacting with maps and geospatial data.
The library comes with built-in support for a wide range of commercial and free image and vector tile sources, and the most popular open and proprietary vector data formats. With OpenLayers's map projection support, data can be in any projection.
## Public API
OpenLayers is available as [`ol` npm package](https://npmjs.com/package/ol), which provides all modules of the officially supported [API](../../apidoc).
## Renderers and Browser Support
By default, OpenLayers uses a performance optimized Canvas renderer.
OpenLayers runs on all modern browsers that support [HTML5](https://html.spec.whatwg.org/multipage/) and [ECMAScript 5](http://www.ecma-international.org/ecma-262/5.1/). This includes Chrome, Firefox, Safari and Edge. For older browsers and platforms like Internet Explorer (down to version 9) and Android 4.x, [polyfills](http://polyfill.io), the application bundle needs to be transpiled (e.g. using [Babel](https://babeljs.io)) and bundled with polyfills for `requestAnimationFrame`, `Element.prototype.classList` and `URL`.
The library is intended for use on both desktop/laptop and mobile devices, and supports pointer and touch interactions.
## Module and Naming Conventions
OpenLayers modules with CamelCase names provide classes as default exports, and may contain additional constants or functions as named exports:
```js
import Map from 'ol/Map';
import View from 'ol/View';
```
Class hierarchies grouped by their parent are provided in a subfolder of the package, e.g. `layer/`.
For convenience, these are also available as named exports, e.g.
```js
import {Map, View} from 'ol';
import {Tile, Vector} from 'ol/layer';
```
In addition to these re-exported classes, modules with lowercase names also provide constants or functions as named exports:
```js
import {getUid} from 'ol';
import {fromLonLat} from 'ol/proj';
```
-87
View File
@@ -1,87 +0,0 @@
---
title: Basic project setup using NPM and Browserify
layout: doc.hbs
---
# Introduction
When going beyond modifying existing examples you might be looking for a way to setup your own code with dependency management together with external dependencies like OpenLayers.
This tutorial serves as a suggested project setup using NPM and Browserify for the most basic needs. There are several other options, and in particular you might be interested in a more modern one (ES2015) [using Webpack with OpenLayers](https://gist.github.com/tschaub/79025aef325cd2837364400a105405b8).
## Initial steps
Create a new empty directory for your project and navigate to it by running `mkdir new-project && cd new-project`. Initialize your project using `npm init` and answer the questions asked.
Add OpenLayers as dependency to your application with `npm install --save ol`.
At this point you can ask NPM to add required development dependencies by running
```
npm install --save-dev cssify browserify cssify http-server uglify-js watchify
npm install --save-dev babelify babel-plugin-transform-es2015-modules-commonjs
```
We will be using `cssify` to include the css definitions required by OpenLayers in our bundle. `watchify`, `http-server` and `uglify-js` are used to monitor for changes and to build into a minified bundle. `babelify` and `babel-plugin-transform-es2015-modules-commonjs` are used to make the `ol` package, which was created using ES2015 modules, work with CommonJS.
## Application code and index.html
Place your application code in `index.js`. Here is a simple starting point:
```js
require('ol/ol.css');
var ol_Map = require('ol/map').default;
var ol_layer_Tile = require('ol/layer/tile').default;
var ol_source_OSM = require('ol/source/osm').default;
var ol_View = require('ol/view').default;
var map = new ol_Map({
target: 'map',
layers: [
new ol_layer_Tile({
source: new ol_source_OSM()
})
],
view: new ol_View({
center: [0, 0],
zoom: 0
})
});
```
You will also need an `ìndex.html` file that will use your bundle. Here is a simple example:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Using Browserify with OpenLayers</title>
<style>
#map {
width: 400px;
height: 250px;
}
</style>
</head>
<body>
<div id="map"></div>
<script src="bundle.js"></script>
</body>
</html>
```
## Creating a bundle
With simple scripts you can introduce the commands `npm run build` and `npm start` to manually build your bundle and watch for changes, respectively. Add the following to the script section in `package.json`:
```json
"scripts": {
"start": "watchify index.js -g cssify --outfile bundle.js & http-server",
"build": "browserify -g cssify index.js | uglifyjs --compress --output bundle.js"
}
```
Now to test your application open http://localhost:8080/ in your browser. `watchify` will update `bundle.js` whenever you change something. You simply need to reload the page in your browser to see the changes.
```
$ npm start
```
Note that `bundle.js` will contain your application code and all dependencies used in your application. From OpenLayers, it only contains the required components.
+103
View File
@@ -0,0 +1,103 @@
---
title: Basic project setup using NPM and Parcel
layout: doc.hbs
---
# Introduction
Modern JavaScript works best when using and authoring modules. The recommended way of using OpenLayers is installing the [`ol`](https://npmjs.com/package/ol) package. This tutorial walks you through setting up a simple dev environment, which requires [node](https://nodejs.org) for everything to work.
In this tutorial, we will be using [Parcel](https://parceljs.org) to bundle our application. There are several other options, some of which are linked from the [README](https://npmjs.com/package/ol).
## Initial steps
Create a new empty directory for your project and navigate to it by running `mkdir new-project && cd new-project`. Initialize your project with
npm init
This will create a `package.json` file in your working directory. Add OpenLayers as dependency to your application with
npm install ol
At this point you can ask NPM to add required development dependencies by running
npm install --save-dev parcel-bundler
## Application code and index.html
Place your application code in `index.js`. Here is a simple starting point:
```js
import 'ol/ol.css';
import {Map, View} from 'ol';
import TileLayer from 'ol/layer/Tile';
import OSM from 'ol/source/OSM';
const map = new Map({
target: 'map',
layers: [
new TileLayer({
source: new OSM()
})
],
view: new View({
center: [0, 0],
zoom: 0
})
});
```
You will also need an `index.html` file that will use your bundle. Here is a simple example:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Using Parcel with OpenLayers</title>
<style>
#map {
width: 400px;
height: 250px;
}
</style>
</head>
<body>
<div id="map"></div>
<script src="./index.js"></script>
</body>
</html>
```
## Creating a bundle
With two additional lines in `package.json` you can introduce the commands `npm run build` and `npm start` to manually build your bundle and watch for changes, respectively. The final `package.json` with the two additional commands `"start"` and `"build"` should look like this:
```json
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "parcel index.html",
"build": "parcel build --public-url . index.html"
},
"author": "",
"license": "ISC"
}
```
That's it. Now to run your application, enter
npm start
in your console. To test your application, open http://localhost:1234/ in your browser. Whenever you change something, the page will reload automatically to show the result of your changes.
Note that a single JavaScript file with all your application code and all dependencies used in your application has been created. From the OpenLayers package, it only contains the required components.
To create a production bundle of your application, simply type
npm run build
and copy the `dist/` folder to your production server.
+51 -34
View File
@@ -6,68 +6,85 @@ layout: doc.hbs
# Basic Concepts # Basic Concepts
## Map ## Map
The core component of OpenLayers is the map (`ol.Map`). It is rendered to a `target` container (e.g. a `div` element on the web page that contains the map). All map properties can either be configured at construction time, or by using setter methods, e.g. `setTarget()`.
The core component of OpenLayers is the map (`ol/Map`). It is rendered to a `target` container (e.g. a `div` element on the web page that contains the map). All map properties can either be configured at construction time, or by using setter methods, e.g. `setTarget()`.
The markup below could be used to create a `<div>` that contains your map.
```xml ```xml
<div id="map" style="width: 100%, height: 400px"></div> <div id="map" style="width: 100%, height: 400px"></div>
<script> ```
var map = new ol.Map({target: 'map'});
</script> The script below constructs a map that is rendered in the `<div>` above, using the `map` id of the element as a selector.
```js
import Map from 'ol/Map';
var map = new Map({target: 'map'});
``` ```
## View ## View
`ol.Map` is not responsible for things like center, zoom level and projection of the map. Instead, these are properties of an `ol.View` instance.
The map is not responsible for things like center, zoom level and projection of the map. Instead, these are properties of a `ol/View` instance.
```js ```js
map.setView(new ol.View({ import View from 'ol/View';
center: [0, 0],
zoom: 2 map.setView(new View({
})); center: [0, 0],
zoom: 2
}));
``` ```
An `ol.View` also has a `projection`. The projection determines the coordinate system of the `center` and the units for map resolution calculations. If not specified (like in the above snippet), the default projection is Spherical Mercator (EPSG:3857), with meters as map units. A `View` also has a `projection`. The projection determines the coordinate system of the `center` and the units for map resolution calculations. If not specified (like in the above snippet), the default projection is Spherical Mercator (EPSG:3857), with meters as map units.
The `zoom` option is a convenient way to specify the map resolution. The available zoom levels are determined by `maxZoom` (default: 28), `zoomFactor` (default: 2) and `maxResolution` (default is calculated in such a way that the projection's validity extent fits in a 256x256 pixel tile). Starting at zoom level 0 with a resolution of `maxResolution` units per pixel, subsequent zoom levels are calculated by dividing the previous zoom level's resolution by `zoomFactor`, until zoom level `maxZoom` is reached. The `zoom` option is a convenient way to specify the map resolution. The available zoom levels are determined by `maxZoom` (default: 28), `zoomFactor` (default: 2) and `maxResolution` (default is calculated in such a way that the projection's validity extent fits in a 256x256 pixel tile). Starting at zoom level 0 with a resolution of `maxResolution` units per pixel, subsequent zoom levels are calculated by dividing the previous zoom level's resolution by `zoomFactor`, until zoom level `maxZoom` is reached.
## Source ## Source
To get remote data for a layer, OpenLayers uses `ol.source.Source` subclasses. These are available for free and commercial map tile services like OpenStreetMap or Bing, for OGC sources like WMS or WMTS, and for vector data in formats like GeoJSON or KML.
To get remote data for a layer, OpenLayers uses `ol/source/Source` subclasses. These are available for free and commercial map tile services like OpenStreetMap or Bing, for OGC sources like WMS or WMTS, and for vector data in formats like GeoJSON or KML.
```js ```js
var osmSource = new ol.source.OSM(); import OSM from 'ol/source/OSM';
var osmSource = OSM();
``` ```
## Layer ## Layer
A layer is a visual representation of data from a `source`. OpenLayers has three basic types of layers: `ol.layer.Tile`, `ol.layer.Image` and `ol.layer.Vector`.
`ol.layer.Tile` is for layer sources that provide pre-rendered, tiled images in grids that are organized by zoom levels for specific resolutions. A layer is a visual representation of data from a `source`. OpenLayers has four basic types of layers:
`ol.layer.Image` is for server rendered images that are available for arbitrary extents and resolutions. * `ol/layer/Tile` - Renders sources that provide tiled images in grids that are organized by zoom levels for specific resolutions.
* `ol/layer/Image` - Renders sources that provide map images at arbitrary extents and resolutions.
`ol.layer.Vector` is for vector data that is rendered client-side. * `ol/layer/Vector` - Renders vector data client-side.
* `ol/layer/VectorTile` - Renders data that is provided as vector tiles.
```js ```js
var osmLayer = new ol.layer.Tile({source: osmSource}); import TileLayer from 'ol/layer/Tile';
map.addLayer(osmLayer);
var osmLayer = new TileLayer({source: osmSource});
map.addLayer(osmLayer);
``` ```
## Putting it all together ## Putting it all together
The above snippets can be combined into a single script that renders a map with a single tile layer:
The above snippets can be conflated to a self contained map configuration with view and layers: ```js
import Map from 'ol/Map';
import View from 'ol/View';
import OSM from 'ol/source/OSM';
import TileLayer from 'ol/layer/Tile';
```xml new Map({
<div id="map" style="width: 100%, height: 400px"></div> layers: [
<script> new TileLayer({source: new OSM()})
new ol.Map({ ],
layers: [ view: new View({
new ol.layer.Tile({source: new ol.source.OSM()}) center: [0, 0],
], zoom: 2
view: new ol.View({ }),
center: [0, 0], target: 'map'
zoom: 2 });
}),
target: 'map'
});
</script>
``` ```
+2 -3
View File
@@ -5,8 +5,7 @@ layout: doc.hbs
# Tutorials # Tutorials
* [Introduction to OpenLayers](introduction.html) * [Building an OpenLayers Application](bundle.html)
* [Basic Concepts](concepts.html) * [Basic Concepts](concepts.html)
* [Create Custom Builds](custom-builds.html) * [Some Background on OpenLayers](background.html)
* [Bundle Application and OpenLayers using Browserify](browserify.html)
* [Raster Reprojection](raster-reprojection.html) * [Raster Reprojection](raster-reprojection.html)
-39
View File
@@ -1,39 +0,0 @@
---
title: Introduction
layout: doc.hbs
---
# Introduction
## Objectives
With version 3, the OpenLayers web mapping library was fundamentally redesigned. The widely used version 2 dates from the early days of Javascript development, and was increasingly showing its age. So it has been rewritten from the ground up to use modern design patterns.
The initial release aims to support much of the functionality provided by version 2, with support for a wide range of commercial and free tile sources, and the most popular open-source vector data formats. As with version 2, data can be in any projection. The initial release also adds some additional functionality, such as the ability to easily rotate or animate maps.
It is also designed such that major new features, such as displaying 3D maps, or using WebGL to quickly display large vector data sets, can be added in later releases.
## Public API
Using the advanced optimizations of the Closure Compiler means that properties and methods are renamed &ndash; `longMeaningfulName` might become `xB` &ndash; and so are effectively unusable in applications using the library. To be usable, they have to be explicitly `exported`. This means the exported names, those not renamed, effectively become the public API of the library. These __exportable__ properties and methods are marked in the source, and documented in the [API docs](../../apidoc). This is the officially supported API of the library. A build containing all these exportable names is known as a __full build__. A hosted version of this is available, which can be used by any application.
## Custom Builds
Unlike in, say, Node, where a module's exports are fixed in the source, with Closure Compiler, exports can be defined at compile time. This makes it easy to create builds that are customized to the needs of a particular site or application: a __custom build__ only exports those properties and methods needed by the site or application. As the full build is large, and will probably become larger as new features are added to the API, it's recommended that sites create a custom build for production software.
## Renderers and Browser Support
The library currently includes two renderers: Canvas and WebGL. Both of them support both raster data from tile/image servers, and vector data; WebGL however does not support labels. Clearly only those browsers that [support Canvas](http://caniuse.com/canvas) can use the Canvas renderer. Equally, the WebGL renderer can only be used on those devices and [browsers](http://caniuse.com/webgl) that support WebGL.
OpenLayers runs on all modern browsers that support [HTML5](https://html.spec.whatwg.org/multipage/) and [ECMAScript 5](http://www.ecma-international.org/ecma-262/5.1/). This includes Chrome, Firefox, Safari and Edge. For older browsers and platforms like Internet Explorer (down to version 9) and Android 4.x, [polyfills](http://polyfill.io) for `requestAnimationFrame` and `Element.prototype.classList` are required, and using the KML format requires a polyfill for `URL`.
The library is intended for use on both desktop/laptop and mobile devices.
## Objects and Naming Conventions
The top-level namespace is `ol` (basically, `var ol = {};`). Subdivisions of this are:
* further namespaces, such as `ol.layer`; these have a lower-case initial
* simple objects containing static properties and methods, such as `ol.easing`; these also have a lower-case initial
* types, which have an upper-case initial. These are mainly 'classes', which here means a constructor function with prototypal inheritance, such as `ol.Map` or `ol.layer.Vector` (the Vector class within the layer namespace). There are however other, simpler, types, such as `ol.Extent`, which is an array.
Class namespaces, such as `ol.layer` have a base class type with the same name, such as `ol.layer.Layer`. These are mainly abstract classes, from which the other subclasses inherit.
Source files are similarly organised, with a directory for each class namespace. Names are however all lower-case, for example, `ol/layer/vector.js`.
OpenLayers follows the convention that the names of private properties and methods, that is, those that are not part of the API, end in an underscore. In general, instance properties are private and accessed using accessors.
+26 -23
View File
@@ -10,18 +10,22 @@ Transformation of the map projections of the image happens directly in a web bro
The view in any Proj4js supported coordinate reference system is possible and previously incompatible layers can now be combined and overlaid. The view in any Proj4js supported coordinate reference system is possible and previously incompatible layers can now be combined and overlaid.
# Usage # Usage
The API usage is very simple. Just specify proper projection (using [EPSG](https://epsg.io) code) on `ol.View`: The API usage is very simple. Just specify proper projection (e.g. using [EPSG](https://epsg.io) code) on `ol/View`:
``` javascript ```js
var map = new ol.Map({ import {Map, View} from 'ol';
import TileLayer from 'ol/layer/Tile';
import TileWMS from 'ol/source/TileWMS';
var map = new Map({
target: 'map', target: 'map',
view: new ol.View({ view: new View({
projection: 'EPSG:3857', //HERE IS THE VIEW PROJECTION projection: 'EPSG:3857', //HERE IS THE VIEW PROJECTION
center: [0, 0], center: [0, 0],
zoom: 2 zoom: 2
}), }),
layers: [ layers: [
new ol.layer.Tile({ new TileLayer({
source: new ol.source.TileWMS({ source: new TileWMS({
projection: 'EPSG:4326', //HERE IS THE DATA SOURCE PROJECTION projection: 'EPSG:4326', //HERE IS THE DATA SOURCE PROJECTION
url: 'http://demo.boundlessgeo.com/geoserver/wms', url: 'http://demo.boundlessgeo.com/geoserver/wms',
params: { params: {
@@ -32,7 +36,7 @@ var map = new ol.Map({
] ]
}); });
``` ```
If a source (based on `ol.source.TileImage` or `ol.source.Image`) has a projection different from the current `ol.View`s projection then the reprojection happens automatically under the hood. If a source (based on `ol/source/TileImage` or `ol/source/Image`) has a projection different from the current `ol/View`s projection then the reprojection happens automatically under the hood.
### Examples ### Examples
- [Raster reprojection demo](https://openlayers.org/en/master/examples/reprojection.html) - [Raster reprojection demo](https://openlayers.org/en/master/examples/reprojection.html)
@@ -41,26 +45,29 @@ If a source (based on `ol.source.TileImage` or `ol.source.Image`) has a projecti
- [Image reprojection](https://openlayers.org/en/master/examples/reprojection-image.html) - [Image reprojection](https://openlayers.org/en/master/examples/reprojection-image.html)
### Custom projection ### Custom projection
The easiest way to use a custom projection is to add the [Proj4js](http://proj4js.org/) library to your project and then define the projection using a proj4 definition string. The easiest way to use a custom projection is to add the [Proj4js](http://proj4js.org/) library to your project and then define the projection using a proj4 definition string. It can be installed with
npm install proj4
Following example shows definition of a [British National Grid](https://epsg.io/27700): Following example shows definition of a [British National Grid](https://epsg.io/27700):
``` html ```js
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.4.4/proj4.js"></script> import proj4 from 'proj4';
``` import {get as getProjection, register} from 'ol/proj';
``` javascript
proj4.defs('EPSG:27700', '+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 ' + proj4.defs('EPSG:27700', '+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 ' +
'+x_0=400000 +y_0=-100000 +ellps=airy ' + '+x_0=400000 +y_0=-100000 +ellps=airy ' +
'+towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 ' + '+towgs84=446.448,-125.157,542.06,0.15,0.247,0.842,-20.489 ' +
'+units=m +no_defs'); '+units=m +no_defs');
var proj27700 = ol.proj.get('EPSG:27700'); register(proj4);
var proj27700 = getProjection('EPSG:27700');
proj27700.setExtent([0, 0, 700000, 1300000]); proj27700.setExtent([0, 0, 700000, 1300000]);
``` ```
### Change of the view projection ### Change of the view projection
To switch the projection used to display the map you have to set a new `ol.View` with selected projection on the `ol.Map`: To switch the projection used to display the map you have to set a new `ol/View` with selected projection on the `ol/Map`:
``` javascript ``` javascript
map.setView(new ol.View({ map.setView(new View({
projection: 'EPSG:27700', projection: 'EPSG:27700',
center: [400000, 650000], center: [400000, 650000],
zoom: 4 zoom: 4
@@ -69,16 +76,16 @@ map.setView(new ol.View({
## TileGrid and Extents ## TileGrid and Extents
When reprojection is needed, new tiles (in the target projection) are under the hood created from the original source tiles. When reprojection is needed, new tiles (in the target projection) are under the hood created from the original source tiles.
The TileGrid of the reprojected tiles is by default internally constructed using `ol.tilegrid.getForProjection(projection)`. The TileGrid of the reprojected tiles is by default internally constructed using `ol/tilegrid~getForProjection(projection)`.
The projection should have extent defined (see above) for this to work properly. The projection should have extent defined (see above) for this to work properly.
Alternatively, a custom target TileGrid can be constructed manually and set on the source instance using `ol.source.TileImage#setTileGridForProjection(projection, tilegrid)`. Alternatively, a custom target TileGrid can be constructed manually and set on the source instance using `ol/source/TileImage~setTileGridForProjection(projection, tilegrid)`.
This TileGrid will then be used when reprojecting to the specified projection instead of creating the default one. This TileGrid will then be used when reprojecting to the specified projection instead of creating the default one.
In certain cases, this can be used to optimize performance (by tweaking tile sizes) or visual quality (by specifying resolutions). In certain cases, this can be used to optimize performance (by tweaking tile sizes) or visual quality (by specifying resolutions).
# How it works # How it works
The reprojection process is based on triangles -- the target raster is divided into a limited number of triangles with vertices transformed using `ol.proj` capabilities ([proj4js](http://proj4js.org/) is usually utilized to define custom transformations). The reprojection process is based on triangles -- the target raster is divided into a limited number of triangles with vertices transformed using `ol/proj` capabilities ([proj4js](http://proj4js.org/) is usually utilized to define custom transformations).
The reprojection of pixels inside the triangle is approximated with an affine transformation (with rendering hardware-accelerated by the canvas 2d context): The reprojection of pixels inside the triangle is approximated with an affine transformation (with rendering hardware-accelerated by the canvas 2d context):
<img src="raster-reprojection-resources/how-it-works.jpg" alt="How it works" width="600" /> <img src="raster-reprojection-resources/how-it-works.jpg" alt="How it works" width="600" />
@@ -102,10 +109,6 @@ For debugging, rendering of the reprojection edges can be enabled by `ol.source.
# Advanced # Advanced
### Disabling reprojection
In case you are creating a custom build of OpenLayers and do not need the reprojection code, you can reduce the build size by setting `ol.ENABLE_RASTER_REPROJECTION` to `false`, which completely disables the reprojection support.
See [Custom builds](custom-builds.html#defines) tutorial on how to do this.
### Triangulation precision threshold ### Triangulation precision threshold
The default [triangulation error threshold](#dynamic-triangulation) in pixels is given by `ERROR_THRESHOLD` (0.5 pixel). The default [triangulation error threshold](#dynamic-triangulation) in pixels is given by `ERROR_THRESHOLD` (0.5 pixel).
In case a different threshold needs to be defined for different sources, the `reprojectionErrorThreshold` option can be passed when constructing the tile image source. In case a different threshold needs to be defined for different sources, the `reprojectionErrorThreshold` option can be passed when constructing the tile image source.
@@ -126,7 +129,7 @@ Setting such a limit is demonstrated in the [reprojection demo example](https://
### Resolution calculation ### Resolution calculation
When determining source tiles to load, the ideal source resolution needs to be calculated. When determining source tiles to load, the ideal source resolution needs to be calculated.
The `ol.reproj.calculateSourceResolution(sourceProj, targetProj, targetCenter, targetResolution)` function calculates the ideal value in order to achieve pixel mapping as close as possible to 1:1 during reprojection, which is then used to select proper zoom level from the source. The `ol/reproj~calculateSourceResolution(sourceProj, targetProj, targetCenter, targetResolution)` function calculates the ideal value in order to achieve pixel mapping as close as possible to 1:1 during reprojection, which is then used to select proper zoom level from the source.
It is, however, generally not practical to use the same source zoom level for the whole target zoom level -- different projections can have significantly different resolutions in different parts of the world (e.g. polar regions in EPSG:3857 vs EPSG:4326) and enforcing a single resolution for the whole zoom level would result in some tiles being scaled up/down, possibly requiring a huge number of source tiles to be loaded. It is, however, generally not practical to use the same source zoom level for the whole target zoom level -- different projections can have significantly different resolutions in different parts of the world (e.g. polar regions in EPSG:3857 vs EPSG:4326) and enforcing a single resolution for the whole zoom level would result in some tiles being scaled up/down, possibly requiring a huge number of source tiles to be loaded.
Therefore, the resolution mapping is calculated separately for each reprojected tile (in the middle of the tile extent). Therefore, the resolution mapping is calculated separately for each reprojected tile (in the middle of the tile extent).
+1
View File
@@ -9,6 +9,7 @@
"GyroNorm": false, "GyroNorm": false,
"jsPDF": false, "jsPDF": false,
"jsts": false, "jsts": false,
"mapboxgl": false,
"saveAs": false, "saveAs": false,
"toastr": false, "toastr": false,
"topojson": false, "topojson": false,
-6
View File
@@ -1,6 +1,5 @@
import Map from '../src/ol/Map.js'; import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js'; import View from '../src/ol/View.js';
import {defaults as defaultControls} from '../src/ol/control.js';
import TileLayer from '../src/ol/layer/Tile.js'; import TileLayer from '../src/ol/layer/Tile.js';
import OSM from '../src/ol/source/OSM.js'; import OSM from '../src/ol/source/OSM.js';
@@ -12,11 +11,6 @@ const map = new Map({
}) })
], ],
target: 'map', target: 'map',
controls: defaultControls({
attributionOptions: {
collapsible: false
}
}),
view: new View({ view: new View({
center: [0, 0], center: [0, 0],
zoom: 2 zoom: 2
-3
View File
@@ -24,9 +24,6 @@ const map = new Map({
source: new OSM() source: new OSM()
}) })
], ],
// Improve user experience by loading tiles while animating. Will make
// animations stutter on mobile or slow devices.
loadTilesWhileAnimating: true,
view: view view: view
}); });
+4 -5
View File
@@ -12,9 +12,8 @@ cloak:
<div id="map" class="map"></div> <div id="map" class="map"></div>
<select id="layer-select"> <select id="layer-select">
<option value="Aerial">Aerial</option> <option value="Aerial">Aerial</option>
<option value="AerialWithLabels" selected>Aerial with labels</option> <option value="AerialWithLabelsOnDemand" selected>Aerial with labels</option>
<option value="Road">Road (static)</option> <option value="RoadOnDemand">Road</option>
<option value="RoadOnDemand">Road (dynamic)</option> <option value="CanvasDark">Road dark</option>
<option value="collinsBart">Collins Bart</option> <option value="OrdnanceSurvey">Ordnance Survey</option>
<option value="ordnanceSurvey">Ordnance Survey</option>
</select> </select>
+3 -7
View File
@@ -5,12 +5,11 @@ import BingMaps from '../src/ol/source/BingMaps.js';
const styles = [ const styles = [
'Road',
'RoadOnDemand', 'RoadOnDemand',
'Aerial', 'Aerial',
'AerialWithLabels', 'AerialWithLabelsOnDemand',
'collinsBart', 'CanvasDark',
'ordnanceSurvey' 'OrdnanceSurvey'
]; ];
const layers = []; const layers = [];
let i, ii; let i, ii;
@@ -29,9 +28,6 @@ for (i = 0, ii = styles.length; i < ii; ++i) {
} }
const map = new Map({ const map = new Map({
layers: layers, layers: layers,
// Improve user experience by loading tiles while dragging/zooming. Will make
// zooming choppy on mobile or slow devices.
loadTilesWhileInteracting: true,
target: 'map', target: 'map',
view: new View({ view: new View({
center: [-6655.5402445057125, 6709968.258934638], center: [-6655.5402445057125, 6709968.258934638],
-4
View File
@@ -1,4 +0,0 @@
.map{
background-repeat: repeat;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAApSURBVBiVY7x///5/BjSgqKjIiC7GhC6ACwygQgxHMzAwMGDz4FDwDAD5/wevjSk4mwAAAABJRU5ErkJggg==);
}
-68
View File
@@ -1,68 +0,0 @@
---
layout: example.html
title: Blend Modes
shortdesc: Shows how to change the canvas compositing / blending mode in post- and precompose eventhandlers.
docs: >
<p>This example shows how to change the canvas compositing / blending mode in
post- and precompose event handlers. The Canvas 2D API provides the property
<code>globalCompositeOperation</code> with which one can influence which
composition operation will be used when drawing on the canvas. The various
options are well described on the <a href="https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation">MDN
documentation page</a>.</p>
<p>In this example three circles on the corners of an equilateral triangle are
drawn with red, green or blue styles respectively. By setting the
<code>globalCompositeOperation</code> you can change how these colors turn out
when they are combined on the map.</p>
<p>You can select an operation in the select-field and you can also control
which layers will be affected by the chosen operation through the layer
checkboxes.</p>
tags: "blendmode, blend-mode, blend mode, blendingmode, blending-mode, blending mode, composition, compositing, canvas, vector"
---
<div id="map" class="map"></div>
<form class="form-horizontal">
<label>
<select id="blend-mode" class="form-control">
<option value="source-over">source-over (default)</option>
<option>source-in</option>
<option>source-out</option>
<option>source-atop</option>
<option>destination-over</option>
<option>destination-in</option>
<option>destination-out</option>
<option>destination-atop</option>
<option>lighter</option>
<option>copy</option>
<option>xor</option>
<option>multiply</option>
<option>screen</option>
<option>overlay</option>
<option>darken</option>
<option>lighten</option>
<option>color-dodge</option>
<option>color-burn</option>
<option>hard-light</option>
<option>soft-light</option>
<option selected>difference</option>
<option>exclusion</option>
<option>hue</option>
<option>saturation</option>
<option>color</option>
<option>luminosity</option>
</select>
Canvas compositing / blending mode
</label>
<label>
<input type="checkbox" id="affect-red" checked>
Red circle affected
</label>
<label>
<input type="checkbox" id="affect-green" checked>
Green circle affected
</label>
<label>
<input type="checkbox" id="affect-blue" checked>
Blue circle affected
</label>
</form>
-173
View File
@@ -1,173 +0,0 @@
import Feature from '../src/ol/Feature.js';
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import Point from '../src/ol/geom/Point.js';
import VectorLayer from '../src/ol/layer/Vector.js';
import VectorSource from '../src/ol/source/Vector.js';
import {Circle as CircleStyle, Fill, Stroke, Style} from '../src/ol/style.js';
// Create separate layers for red, green an blue circles.
//
// Every layer has one feature that is styled with a circle, together the
// features form the corners of an equilateral triangle and their styles overlap
const redLayer = new VectorLayer({
source: new VectorSource({
features: [new Feature(new Point([0, 0]))]
}),
style: new Style({
image: new CircleStyle({
fill: new Fill({
color: 'rgba(255,0,0,0.8)'
}),
stroke: new Stroke({
color: 'rgb(255,0,0)',
width: 15
}),
radius: 120
})
})
});
const greenLayer = new VectorLayer({
source: new VectorSource({
// 433.013 is roughly 250 * Math.sqrt(3)
features: [new Feature(new Point([250, 433.013]))]
}),
style: new Style({
image: new CircleStyle({
fill: new Fill({
color: 'rgba(0,255,0,0.8)'
}),
stroke: new Stroke({
color: 'rgb(0,255,0)',
width: 15
}),
radius: 120
})
})
});
const blueLayer = new VectorLayer({
source: new VectorSource({
features: [new Feature(new Point([500, 0]))]
}),
style: new Style({
image: new CircleStyle({
fill: new Fill({
color: 'rgba(0,0,255,0.8)'
}),
stroke: new Stroke({
color: 'rgb(0,0,255)',
width: 15
}),
radius: 120
})
})
});
// Create the map, the view is centered on the triangle. Zooming and panning is
// restricted to a sane area
const map = new Map({
layers: [
redLayer,
greenLayer,
blueLayer
],
target: 'map',
view: new View({
center: [250, 220],
extent: [0, 0, 500, 500],
resolution: 4,
minResolution: 2,
maxResolution: 32
})
});
// Get the form elements and bind the listeners
const select = document.getElementById('blend-mode');
const affectRed = document.getElementById('affect-red');
const affectGreen = document.getElementById('affect-green');
const affectBlue = document.getElementById('affect-blue');
/**
* This method sets the globalCompositeOperation to the value of the select
* field and it is bound to the precompose event of the layers.
*
* @param {module:ol/render/Event~RenderEvent} evt The render event.
*/
const setBlendModeFromSelect = function(evt) {
evt.context.globalCompositeOperation = select.value;
};
/**
* This method resets the globalCompositeOperation to the default value of
* 'source-over' and it is bound to the postcompose event of the layers.
*
* @param {module:ol/render/Event~RenderEvent} evt The render event.
*/
const resetBlendModeFromSelect = function(evt) {
evt.context.globalCompositeOperation = 'source-over';
};
/**
* Bind the pre- and postcompose handlers to the passed layer.
*
* @param {module:ol/layer/Vector} layer The layer to bind the handlers to.
*/
const bindLayerListeners = function(layer) {
layer.on('precompose', setBlendModeFromSelect);
layer.on('postcompose', resetBlendModeFromSelect);
};
/**
* Unind the pre- and postcompose handlers to the passed layers.
*
* @param {module:ol/layer/Vector} layer The layer to unbind the handlers from.
*/
const unbindLayerListeners = function(layer) {
layer.un('precompose', setBlendModeFromSelect);
layer.un('postcompose', resetBlendModeFromSelect);
};
/**
* Handler for the click event of the 'affect-XXX' checkboxes.
*
* @this {HTMLInputElement}
*/
const affectLayerClicked = function() {
let layer;
if (this.id == 'affect-red') {
layer = redLayer;
} else if (this.id == 'affect-green') {
layer = greenLayer;
} else {
layer = blueLayer;
}
if (this.checked) {
bindLayerListeners(layer);
} else {
unbindLayerListeners(layer);
}
map.render();
};
// Rerender map when blend mode changes
select.addEventListener('change', function() {
map.render();
});
// Unbind / bind listeners depending on the checked state when the checkboxes
// are clicked
affectRed.addEventListener('click', affectLayerClicked);
affectGreen.addEventListener('click', affectLayerClicked);
affectBlue.addEventListener('click', affectLayerClicked);
// Initially bind listeners
bindLayerListeners(redLayer);
bindLayerListeners(greenLayer);
bindLayerListeners(blueLayer);
+2 -2
View File
@@ -61,8 +61,8 @@ const style = new Style({
* The styling function for the vector layer, will return an array of styles * The styling function for the vector layer, will return an array of styles
* which either contains the aboove gradient or pattern. * which either contains the aboove gradient or pattern.
* *
* @param {module:ol/Feature~Feature} feature The feature to style. * @param {import("../src/ol/Feature.js").default} feature The feature to style.
* @return {module:ol/style/Style} The style to use for the feature. * @return {Style} The style to use for the feature.
*/ */
const getStackedStyle = function(feature) { const getStackedStyle = function(feature) {
const id = feature.getId(); const id = feature.getId();
+1 -4
View File
@@ -4,10 +4,7 @@ title: Canvas Tiles
shortdesc: Renders tiles with coordinates for debugging. shortdesc: Renders tiles with coordinates for debugging.
docs: > docs: >
The black grid tiles are generated on the client with an HTML5 canvas. The The black grid tiles are generated on the client with an HTML5 canvas. The
displayed tile coordinates are OpenLayers tile coordinates. These increase displayed tile coordinates are the XYZ tile coordinates.
from bottom to top, but standard XYZ tiling scheme coordinates increase from
top to bottom. To calculate the `y` for a standard XYZ tile coordinate, use
`-y - 1`.
tags: "layers, openstreetmap, canvas" tags: "layers, openstreetmap, canvas"
--- ---
<div id="map" class="map"></div> <div id="map" class="map"></div>
+4 -15
View File
@@ -1,32 +1,21 @@
import Map from '../src/ol/Map.js'; import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js'; import View from '../src/ol/View.js';
import {defaults as defaultControls} from '../src/ol/control.js';
import TileLayer from '../src/ol/layer/Tile.js'; import TileLayer from '../src/ol/layer/Tile.js';
import {fromLonLat} from '../src/ol/proj.js';
import {OSM, TileDebug} from '../src/ol/source.js'; import {OSM, TileDebug} from '../src/ol/source.js';
const osmSource = new OSM();
const map = new Map({ const map = new Map({
layers: [ layers: [
new TileLayer({ new TileLayer({
source: osmSource source: new OSM()
}), }),
new TileLayer({ new TileLayer({
source: new TileDebug({ source: new TileDebug()
projection: 'EPSG:3857',
tileGrid: osmSource.getTileGrid()
})
}) })
], ],
target: 'map', target: 'map',
controls: defaultControls({
attributionOptions: {
collapsible: false
}
}),
view: new View({ view: new View({
center: fromLonLat([-0.1275, 51.507222]), center: [0, 0],
zoom: 10 zoom: 1
}) })
}); });
+1 -3
View File
@@ -21,8 +21,6 @@ tags: "center, rotation, openstreetmap"
<div class="padding-bottom"></div> <div class="padding-bottom"></div>
<div class="center"></div> <div class="center"></div>
</div> </div>
<button id="zoomtoswitzerlandbest">Zoom to Switzerland</button> (best fit),<br/> <button id="zoomtoswitzerland">Zoom to Switzerland</button> (best fit).<br/>
<button id="zoomtoswitzerlandconstrained">Zoom to Switzerland</button> (respect resolution constraint).<br/>
<button id="zoomtoswitzerlandnearest">Zoom to Switzerland</button> (nearest),<br/>
<button id="zoomtolausanne">Zoom to Lausanne</button> (with min resolution),<br/> <button id="zoomtolausanne">Zoom to Lausanne</button> (with min resolution),<br/>
<button id="centerlausanne">Center on Lausanne</button> <button id="centerlausanne">Center on Lausanne</button>
+8 -28
View File
@@ -1,11 +1,11 @@
import Map from '../src/ol/Map.js'; import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js'; import View from '../src/ol/View.js';
import {defaults as defaultControls} from '../src/ol/control.js';
import GeoJSON from '../src/ol/format/GeoJSON.js'; import GeoJSON from '../src/ol/format/GeoJSON.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js'; import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import {OSM, Vector as VectorSource} from '../src/ol/source.js'; import {OSM, Vector as VectorSource} from '../src/ol/source.js';
import {Circle as CircleStyle, Fill, Stroke, Style} from '../src/ol/style.js'; import {Circle as CircleStyle, Fill, Stroke, Style} from '../src/ol/style.js';
/** @type {VectorSource<import("../src/ol/geom/SimpleGeometry.js").default>} */
const source = new VectorSource({ const source = new VectorSource({
url: 'data/geojson/switzerland.geojson', url: 'data/geojson/switzerland.geojson',
format: new GeoJSON() format: new GeoJSON()
@@ -45,48 +45,28 @@ const map = new Map({
vectorLayer vectorLayer
], ],
target: 'map', target: 'map',
controls: defaultControls({
attributionOptions: {
collapsible: false
}
}),
view: view view: view
}); });
const zoomtoswitzerlandbest = document.getElementById('zoomtoswitzerlandbest'); const zoomtoswitzerland =
zoomtoswitzerlandbest.addEventListener('click', function() { document.getElementById('zoomtoswitzerland');
zoomtoswitzerland.addEventListener('click', function() {
const feature = source.getFeatures()[0]; const feature = source.getFeatures()[0];
const polygon = /** @type {module:ol/geom/SimpleGeometry~SimpleGeometry} */ (feature.getGeometry()); const polygon = feature.getGeometry();
view.fit(polygon, {padding: [170, 50, 30, 150], constrainResolution: false});
}, false);
const zoomtoswitzerlandconstrained =
document.getElementById('zoomtoswitzerlandconstrained');
zoomtoswitzerlandconstrained.addEventListener('click', function() {
const feature = source.getFeatures()[0];
const polygon = /** @type {module:ol/geom/SimpleGeometry~SimpleGeometry} */ (feature.getGeometry());
view.fit(polygon, {padding: [170, 50, 30, 150]}); view.fit(polygon, {padding: [170, 50, 30, 150]});
}, false); }, false);
const zoomtoswitzerlandnearest =
document.getElementById('zoomtoswitzerlandnearest');
zoomtoswitzerlandnearest.addEventListener('click', function() {
const feature = source.getFeatures()[0];
const polygon = /** @type {module:ol/geom/SimpleGeometry~SimpleGeometry} */ (feature.getGeometry());
view.fit(polygon, {padding: [170, 50, 30, 150], nearest: true});
}, false);
const zoomtolausanne = document.getElementById('zoomtolausanne'); const zoomtolausanne = document.getElementById('zoomtolausanne');
zoomtolausanne.addEventListener('click', function() { zoomtolausanne.addEventListener('click', function() {
const feature = source.getFeatures()[1]; const feature = source.getFeatures()[1];
const point = /** @type {module:ol/geom/SimpleGeometry~SimpleGeometry} */ (feature.getGeometry()); const point = feature.getGeometry();
view.fit(point, {padding: [170, 50, 30, 150], minResolution: 50}); view.fit(point, {padding: [170, 50, 30, 150], minResolution: 50});
}, false); }, false);
const centerlausanne = document.getElementById('centerlausanne'); const centerlausanne = document.getElementById('centerlausanne');
centerlausanne.addEventListener('click', function() { centerlausanne.addEventListener('click', function() {
const feature = source.getFeatures()[1]; const feature = source.getFeatures()[1];
const point = /** @type {module:ol/geom/Point~Point} */ (feature.getGeometry()); const point = feature.getGeometry();
const size = /** @type {module:ol/size~Size} */ (map.getSize()); const size = map.getSize();
view.centerOn(point.getCoordinates(), size, [570, 500]); view.centerOn(point.getCoordinates(), size, [570, 500]);
}, false); }, false);
+5 -6
View File
@@ -20,8 +20,8 @@ const twoPi = 2 * Math.PI;
/** /**
* Convert an RGB pixel into an HCL pixel. * Convert an RGB pixel into an HCL pixel.
* @param {Array.<number>} pixel A pixel in RGB space. * @param {Array<number>} pixel A pixel in RGB space.
* @return {Array.<number>} A pixel in HCL space. * @return {Array<number>} A pixel in HCL space.
*/ */
function rgb2hcl(pixel) { function rgb2hcl(pixel) {
const red = rgb2xyz(pixel[0]); const red = rgb2xyz(pixel[0]);
@@ -55,8 +55,8 @@ function rgb2hcl(pixel) {
/** /**
* Convert an HCL pixel into an RGB pixel. * Convert an HCL pixel into an RGB pixel.
* @param {Array.<number>} pixel A pixel in HCL space. * @param {Array<number>} pixel A pixel in HCL space.
* @return {Array.<number>} A pixel in RGB space. * @return {Array<number>} A pixel in RGB space.
*/ */
function hcl2rgb(pixel) { function hcl2rgb(pixel) {
const h = pixel[0]; const h = pixel[0];
@@ -100,8 +100,7 @@ function xyz2rgb(x) {
const raster = new RasterSource({ const raster = new RasterSource({
sources: [new Stamen({ sources: [new Stamen({
layer: 'watercolor', layer: 'watercolor'
transition: 0
})], })],
operation: function(pixels, data) { operation: function(pixels, data) {
const hcl = rgb2hcl(pixels[0]); const hcl = rgb2hcl(pixels[0]);
+23 -39
View File
@@ -1,4 +1,3 @@
import {inherits} from '../src/ol/index.js';
import Map from '../src/ol/Map.js'; import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js'; import View from '../src/ol/View.js';
import {defaults as defaultControls, Control} from '../src/ol/control.js'; import {defaults as defaultControls, Control} from '../src/ol/control.js';
@@ -6,49 +5,38 @@ import TileLayer from '../src/ol/layer/Tile.js';
import OSM from '../src/ol/source/OSM.js'; import OSM from '../src/ol/source/OSM.js';
/**
* Define a namespace for the application.
*/
window.app = {};
const app = window.app;
// //
// Define rotate to north control. // Define rotate to north control.
// //
class RotateNorthControl extends Control {
/** /**
* @constructor * @param {Object=} opt_options Control options.
* @extends {module:ol/control/Control~Control} */
* @param {Object=} opt_options Control options. constructor(opt_options) {
*/ const options = opt_options || {};
app.RotateNorthControl = function(opt_options) {
const options = opt_options || {}; const button = document.createElement('button');
button.innerHTML = 'N';
const button = document.createElement('button'); const element = document.createElement('div');
button.innerHTML = 'N'; element.className = 'rotate-north ol-unselectable ol-control';
element.appendChild(button);
const this_ = this; super({
const handleRotateNorth = function() { element: element,
this_.getMap().getView().setRotation(0); target: options.target
}; });
button.addEventListener('click', handleRotateNorth, false); button.addEventListener('click', this.handleRotateNorth.bind(this), false);
button.addEventListener('touchstart', handleRotateNorth, false); }
const element = document.createElement('div'); handleRotateNorth() {
element.className = 'rotate-north ol-unselectable ol-control'; this.getMap().getView().setRotation(0);
element.appendChild(button); }
Control.call(this, { }
element: element,
target: options.target
});
};
inherits(app.RotateNorthControl, Control);
// //
@@ -57,12 +45,8 @@ inherits(app.RotateNorthControl, Control);
const map = new Map({ const map = new Map({
controls: defaultControls({ controls: defaultControls().extend([
attributionOptions: { new RotateNorthControl()
collapsible: false
}
}).extend([
new app.RotateNorthControl()
]), ]),
layers: [ layers: [
new TileLayer({ new TileLayer({
+49 -61
View File
@@ -1,4 +1,3 @@
import {inherits} from '../src/ol/index.js';
import Feature from '../src/ol/Feature.js'; import Feature from '../src/ol/Feature.js';
import Map from '../src/ol/Map.js'; import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js'; import View from '../src/ol/View.js';
@@ -9,58 +8,47 @@ import {TileJSON, Vector as VectorSource} from '../src/ol/source.js';
import {Fill, Icon, Stroke, Style} from '../src/ol/style.js'; import {Fill, Icon, Stroke, Style} from '../src/ol/style.js';
/** class Drag extends PointerInteraction {
* Define a namespace for the application. constructor() {
*/ super({
const app = {}; handleDownEvent: handleDownEvent,
handleDragEvent: handleDragEvent,
handleMoveEvent: handleMoveEvent,
handleUpEvent: handleUpEvent
});
/**
* @type {import("../src/ol/coordinate.js").Coordinate}
* @private
*/
this.coordinate_ = null;
/**
* @type {string|undefined}
* @private
*/
this.cursor_ = 'pointer';
/**
* @type {Feature}
* @private
*/
this.feature_ = null;
/**
* @type {string|undefined}
* @private
*/
this.previousCursor_ = undefined;
}
}
/** /**
* @constructor * @param {import("../src/ol/MapBrowserEvent.js").default} evt Map browser event.
* @extends {module:ol/interaction/Pointer}
*/
app.Drag = function() {
PointerInteraction.call(this, {
handleDownEvent: app.Drag.prototype.handleDownEvent,
handleDragEvent: app.Drag.prototype.handleDragEvent,
handleMoveEvent: app.Drag.prototype.handleMoveEvent,
handleUpEvent: app.Drag.prototype.handleUpEvent
});
/**
* @type {module:ol~Pixel}
* @private
*/
this.coordinate_ = null;
/**
* @type {string|undefined}
* @private
*/
this.cursor_ = 'pointer';
/**
* @type {module:ol/Feature~Feature}
* @private
*/
this.feature_ = null;
/**
* @type {string|undefined}
* @private
*/
this.previousCursor_ = undefined;
};
inherits(app.Drag, PointerInteraction);
/**
* @param {module:ol/MapBrowserEvent~MapBrowserEvent} evt Map browser event.
* @return {boolean} `true` to start the drag sequence. * @return {boolean} `true` to start the drag sequence.
*/ */
app.Drag.prototype.handleDownEvent = function(evt) { function handleDownEvent(evt) {
const map = evt.map; const map = evt.map;
const feature = map.forEachFeatureAtPixel(evt.pixel, const feature = map.forEachFeatureAtPixel(evt.pixel,
@@ -74,13 +62,13 @@ app.Drag.prototype.handleDownEvent = function(evt) {
} }
return !!feature; return !!feature;
}; }
/** /**
* @param {module:ol/MapBrowserEvent~MapBrowserEvent} evt Map browser event. * @param {import("../src/ol/MapBrowserEvent.js").default} evt Map browser event.
*/ */
app.Drag.prototype.handleDragEvent = function(evt) { function handleDragEvent(evt) {
const deltaX = evt.coordinate[0] - this.coordinate_[0]; const deltaX = evt.coordinate[0] - this.coordinate_[0];
const deltaY = evt.coordinate[1] - this.coordinate_[1]; const deltaY = evt.coordinate[1] - this.coordinate_[1];
@@ -89,13 +77,13 @@ app.Drag.prototype.handleDragEvent = function(evt) {
this.coordinate_[0] = evt.coordinate[0]; this.coordinate_[0] = evt.coordinate[0];
this.coordinate_[1] = evt.coordinate[1]; this.coordinate_[1] = evt.coordinate[1];
}; }
/** /**
* @param {module:ol/MapBrowserEvent~MapBrowserEvent} evt Event. * @param {import("../src/ol/MapBrowserEvent.js").default} evt Event.
*/ */
app.Drag.prototype.handleMoveEvent = function(evt) { function handleMoveEvent(evt) {
if (this.cursor_) { if (this.cursor_) {
const map = evt.map; const map = evt.map;
const feature = map.forEachFeatureAtPixel(evt.pixel, const feature = map.forEachFeatureAtPixel(evt.pixel,
@@ -113,17 +101,17 @@ app.Drag.prototype.handleMoveEvent = function(evt) {
this.previousCursor_ = undefined; this.previousCursor_ = undefined;
} }
} }
}; }
/** /**
* @return {boolean} `false` to stop the drag sequence. * @return {boolean} `false` to stop the drag sequence.
*/ */
app.Drag.prototype.handleUpEvent = function() { function handleUpEvent() {
this.coordinate_ = null; this.coordinate_ = null;
this.feature_ = null; this.feature_ = null;
return false; return false;
}; }
const pointFeature = new Feature(new Point([0, 0])); const pointFeature = new Feature(new Point([0, 0]));
@@ -137,11 +125,11 @@ const polygonFeature = new Feature(
const map = new Map({ const map = new Map({
interactions: defaultInteractions().extend([new app.Drag()]), interactions: defaultInteractions().extend([new Drag()]),
layers: [ layers: [
new TileLayer({ new TileLayer({
source: new TileJSON({ source: new TileJSON({
url: 'https://api.tiles.mapbox.com/v3/mapbox.geography-class.json?secure' url: 'https://a.tiles.mapbox.com/v3/aj.1x1-degrees.json'
}) })
}), }),
new VectorLayer({ new VectorLayer({
@@ -149,13 +137,13 @@ const map = new Map({
features: [pointFeature, lineFeature, polygonFeature] features: [pointFeature, lineFeature, polygonFeature]
}), }),
style: new Style({ style: new Style({
image: new Icon(/** @type {module:ol/style/Icon~Options} */ ({ image: new Icon({
anchor: [0.5, 46], anchor: [0.5, 46],
anchorXUnits: 'fraction', anchorXUnits: 'fraction',
anchorYUnits: 'pixels', anchorYUnits: 'pixels',
opacity: 0.95, opacity: 0.95,
src: 'data/icon.png' src: 'data/icon.png'
})), }),
stroke: new Stroke({ stroke: new Stroke({
width: 3, width: 3,
color: [255, 0, 0, 1] color: [255, 0, 0, 1]
+4
View File
@@ -0,0 +1,4 @@
path.boundary {
fill: none;
stroke: #777;
}
+2 -2
View File
@@ -3,10 +3,10 @@ layout: example.html
title: d3 Integration title: d3 Integration
shortdesc: Example of using OpenLayers and d3 together. shortdesc: Example of using OpenLayers and d3 together.
docs: > docs: >
<p>The example loads TopoJSON geometries and uses d3 (<code>d3.geo.path</code>) to render these geometries to a canvas element that is then used as the image of an OpenLayers image layer.</p> The example loads TopoJSON geometries and uses d3 (<code>d3.geo.path</code>) to render these geometries to a SVG element.
tags: "d3" tags: "d3"
resources: resources:
- https://unpkg.com/d3@4.12.0/build/d3.js - https://unpkg.com/d3@5.9.2/dist/d3.js
- https://unpkg.com/topojson@3.0.2/dist/topojson.js - https://unpkg.com/topojson@3.0.2/dist/topojson.js
--- ---
<div id="map" class="map"></div> <div id="map" class="map"></div>
+66 -58
View File
@@ -1,10 +1,70 @@
import Map from '../src/ol/Map.js'; import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js'; import View from '../src/ol/View.js';
import {getWidth, getCenter} from '../src/ol/extent.js'; import {getWidth, getCenter} from '../src/ol/extent.js';
import {Image as ImageLayer, Tile as TileLayer} from '../src/ol/layer.js'; import {Layer, Tile as TileLayer} from '../src/ol/layer.js';
import SourceState from '../src/ol/source/State.js';
import {fromLonLat, toLonLat} from '../src/ol/proj.js'; import {fromLonLat, toLonLat} from '../src/ol/proj.js';
import {ImageCanvas as ImageCanvasSource, Stamen} from '../src/ol/source.js'; import Stamen from '../src/ol/source/Stamen.js';
class CanvasLayer extends Layer {
constructor(options) {
super(options);
this.features = options.features;
this.svg = d3.select(document.createElement('div')).append('svg')
.style('position', 'absolute');
this.svg.append('path')
.datum(this.features)
.attr('class', 'boundary');
}
getSourceState() {
return SourceState.READY;
}
render(frameState) {
const width = frameState.size[0];
const height = frameState.size[1];
const projection = frameState.viewState.projection;
const d3Projection = d3.geoMercator().scale(1).translate([0, 0]);
let d3Path = d3.geoPath().projection(d3Projection);
const pixelBounds = d3Path.bounds(this.features);
const pixelBoundsWidth = pixelBounds[1][0] - pixelBounds[0][0];
const pixelBoundsHeight = pixelBounds[1][1] - pixelBounds[0][1];
const geoBounds = d3.geoBounds(this.features);
const geoBoundsLeftBottom = fromLonLat(geoBounds[0], projection);
const geoBoundsRightTop = fromLonLat(geoBounds[1], projection);
let geoBoundsWidth = geoBoundsRightTop[0] - geoBoundsLeftBottom[0];
if (geoBoundsWidth < 0) {
geoBoundsWidth += getWidth(projection.getExtent());
}
const geoBoundsHeight = geoBoundsRightTop[1] - geoBoundsLeftBottom[1];
const widthResolution = geoBoundsWidth / pixelBoundsWidth;
const heightResolution = geoBoundsHeight / pixelBoundsHeight;
const r = Math.max(widthResolution, heightResolution);
const scale = r / frameState.viewState.resolution;
const center = toLonLat(getCenter(frameState.extent), projection);
d3Projection.scale(scale).center(center).translate([width / 2, height / 2]);
d3Path = d3Path.projection(d3Projection);
d3Path(this.features);
this.svg.attr('width', width);
this.svg.attr('height', height);
this.svg.select('path')
.attr('d', d3Path);
return this.svg.node();
}
}
const map = new Map({ const map = new Map({
layers: [ layers: [
@@ -25,63 +85,11 @@ const map = new Map({
/** /**
* Load the topojson data and create an ol/layer/Image for that data. * Load the topojson data and create an ol/layer/Image for that data.
*/ */
d3.json('data/topojson/us.json', function(error, us) { d3.json('data/topojson/us.json').then(function(us) {
const features = topojson.feature(us, us.objects.counties);
/** const layer = new CanvasLayer({
* This function uses d3 to render the topojson features to a canvas. features: topojson.feature(us, us.objects.counties)
* @param {module:ol/extent~Extent} extent Extent.
* @param {number} resolution Resolution.
* @param {number} pixelRatio Pixel ratio.
* @param {module:ol/size~Size} size Size.
* @param {module:ol/proj/Projection~Projection} projection Projection.
* @return {HTMLCanvasElement} A canvas element.
*/
const canvasFunction = function(extent, resolution, pixelRatio, size, projection) {
const canvasWidth = size[0];
const canvasHeight = size[1];
const canvas = d3.select(document.createElement('canvas'));
canvas.attr('width', canvasWidth).attr('height', canvasHeight);
const context = canvas.node().getContext('2d');
const d3Projection = d3.geoMercator().scale(1).translate([0, 0]);
let d3Path = d3.geoPath().projection(d3Projection);
const pixelBounds = d3Path.bounds(features);
const pixelBoundsWidth = pixelBounds[1][0] - pixelBounds[0][0];
const pixelBoundsHeight = pixelBounds[1][1] - pixelBounds[0][1];
const geoBounds = d3.geoBounds(features);
const geoBoundsLeftBottom = fromLonLat(geoBounds[0], projection);
const geoBoundsRightTop = fromLonLat(geoBounds[1], projection);
let geoBoundsWidth = geoBoundsRightTop[0] - geoBoundsLeftBottom[0];
if (geoBoundsWidth < 0) {
geoBoundsWidth += getWidth(projection.getExtent());
}
const geoBoundsHeight = geoBoundsRightTop[1] - geoBoundsLeftBottom[1];
const widthResolution = geoBoundsWidth / pixelBoundsWidth;
const heightResolution = geoBoundsHeight / pixelBoundsHeight;
const r = Math.max(widthResolution, heightResolution);
const scale = r / (resolution / pixelRatio);
const center = toLonLat(getCenter(extent), projection);
d3Projection.scale(scale).center(center)
.translate([canvasWidth / 2, canvasHeight / 2]);
d3Path = d3Path.projection(d3Projection).context(context);
d3Path(features);
context.stroke();
return canvas.node();
};
const layer = new ImageLayer({
source: new ImageCanvasSource({
canvasFunction: canvasFunction,
projection: 'EPSG:3857'
})
}); });
map.addLayer(layer); map.addLayer(layer);
}); });
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg">
<g>
<rect width="20" height="20" style="fill:#fff" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 194 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

+1 -1
View File
@@ -8,7 +8,7 @@ docs: >
normalize the events from the browser. normalize the events from the browser.
tags: "device, orientation, gyronorm" tags: "device, orientation, gyronorm"
resources: resources:
- https://cdn.rawgit.com/dorukeker/gyronorm.js/v2.0.6/dist/gyronorm.complete.min.js - https://unpkg.com/gyronorm@2.0.6/dist/gyronorm.complete.min.js
--- ---
<div id="map" class="map"></div> <div id="map" class="map"></div>
<p> <p>
+2 -8
View File
@@ -1,6 +1,5 @@
import Map from '../src/ol/Map.js'; import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js'; import View from '../src/ol/View.js';
import {defaults as defaultControls} from '../src/ol/control.js';
import TileLayer from '../src/ol/layer/Tile.js'; import TileLayer from '../src/ol/layer/Tile.js';
import {toRadians} from '../src/ol/math.js'; import {toRadians} from '../src/ol/math.js';
import OSM from '../src/ol/source/OSM.js'; import OSM from '../src/ol/source/OSM.js';
@@ -16,11 +15,6 @@ const map = new Map({
}) })
], ],
target: 'map', target: 'map',
controls: defaultControls({
attributionOptions: {
collapsible: false
}
}),
view: view view: view
}); });
@@ -35,7 +29,7 @@ gn.init().then(function() {
gn.start(function(event) { gn.start(function(event) {
const center = view.getCenter(); const center = view.getCenter();
const resolution = view.getResolution(); const resolution = view.getResolution();
const alpha = toRadians(event.do.beta); const alpha = toRadians(event.do.alpha);
const beta = toRadians(event.do.beta); const beta = toRadians(event.do.beta);
const gamma = toRadians(event.do.gamma); const gamma = toRadians(event.do.gamma);
@@ -46,6 +40,6 @@ gn.init().then(function() {
center[0] -= resolution * gamma * 25; center[0] -= resolution * gamma * 25;
center[1] += resolution * beta * 25; center[1] += resolution * beta * 25;
view.setCenter(view.constrainCenter(center)); view.setCenter(center);
}); });
}); });
+1 -1
View File
@@ -3,7 +3,7 @@ layout: example.html
title: Drag-and-Drop Image Vector title: Drag-and-Drop Image Vector
shortdesc: Example of using the drag-and-drop interaction with image vector rendering. shortdesc: Example of using the drag-and-drop interaction with image vector rendering.
docs: > docs: >
Example of using the drag-and-drop interaction with an `ol/layer/Vector` with `renderMode: 'image'``. Drag and drop GPX, GeoJSON, IGC, KML, or TopoJSON files on to the map. Each file is rendered to an image on the client. Example of using the drag-and-drop interaction with an `ol/layer/VectorImage` layer. Drag and drop GPX, GeoJSON, IGC, KML, or TopoJSON files on to the map. Each file is rendered to an image on the client.
tags: "drag-and-drop-image-vector, gpx, geojson, igc, kml, topojson, vector, image" tags: "drag-and-drop-image-vector, gpx, geojson, igc, kml, topojson, vector, image"
cloak: cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5 - key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
+3 -73
View File
@@ -2,76 +2,8 @@ import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js'; import View from '../src/ol/View.js';
import {GPX, GeoJSON, IGC, KML, TopoJSON} from '../src/ol/format.js'; import {GPX, GeoJSON, IGC, KML, TopoJSON} from '../src/ol/format.js';
import {defaults as defaultInteractions, DragAndDrop} from '../src/ol/interaction.js'; import {defaults as defaultInteractions, DragAndDrop} from '../src/ol/interaction.js';
import {Vector as VectorLayer, Tile as TileLayer} from '../src/ol/layer.js'; import {VectorImage as VectorImageLayer, Tile as TileLayer} from '../src/ol/layer.js';
import {BingMaps, Vector as VectorSource} from '../src/ol/source.js'; import {BingMaps, Vector as VectorSource} from '../src/ol/source.js';
import {Circle as CircleStyle, Fill, Stroke, Style} from '../src/ol/style.js';
const defaultStyle = {
'Point': new Style({
image: new CircleStyle({
fill: new Fill({
color: 'rgba(255,255,0,0.5)'
}),
radius: 5,
stroke: new Stroke({
color: '#ff0',
width: 1
})
})
}),
'LineString': new Style({
stroke: new Stroke({
color: '#f00',
width: 3
})
}),
'Polygon': new Style({
fill: new Fill({
color: 'rgba(0,255,255,0.5)'
}),
stroke: new Stroke({
color: '#0ff',
width: 1
})
}),
'MultiPoint': new Style({
image: new CircleStyle({
fill: new Fill({
color: 'rgba(255,0,255,0.5)'
}),
radius: 5,
stroke: new Stroke({
color: '#f0f',
width: 1
})
})
}),
'MultiLineString': new Style({
stroke: new Stroke({
color: '#0f0',
width: 3
})
}),
'MultiPolygon': new Style({
fill: new Fill({
color: 'rgba(0,0,255,0.5)'
}),
stroke: new Stroke({
color: '#00f',
width: 1
})
})
};
const styleFunction = function(feature, resolution) {
const featureStyleFunction = feature.getStyleFunction();
if (featureStyleFunction) {
return featureStyleFunction.call(feature, resolution);
} else {
return defaultStyle[feature.getGeometry().getType()];
}
};
const dragAndDropInteraction = new DragAndDrop({ const dragAndDropInteraction = new DragAndDrop({
formatConstructors: [ formatConstructors: [
@@ -104,10 +36,8 @@ dragAndDropInteraction.on('addfeatures', function(event) {
const vectorSource = new VectorSource({ const vectorSource = new VectorSource({
features: event.features features: event.features
}); });
map.addLayer(new VectorLayer({ map.addLayer(new VectorImageLayer({
renderMode: 'image', source: vectorSource
source: vectorSource,
style: styleFunction
})); }));
map.getView().fit(vectorSource.getExtent()); map.getView().fit(vectorSource.getExtent());
}); });
+1 -70
View File
@@ -4,74 +4,6 @@ import {GPX, GeoJSON, IGC, KML, TopoJSON} from '../src/ol/format.js';
import {defaults as defaultInteractions, DragAndDrop} from '../src/ol/interaction.js'; import {defaults as defaultInteractions, DragAndDrop} from '../src/ol/interaction.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js'; import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import {BingMaps, Vector as VectorSource} from '../src/ol/source.js'; import {BingMaps, Vector as VectorSource} from '../src/ol/source.js';
import {Circle as CircleStyle, Fill, Stroke, Style} from '../src/ol/style.js';
const defaultStyle = {
'Point': new Style({
image: new CircleStyle({
fill: new Fill({
color: 'rgba(255,255,0,0.5)'
}),
radius: 5,
stroke: new Stroke({
color: '#ff0',
width: 1
})
})
}),
'LineString': new Style({
stroke: new Stroke({
color: '#f00',
width: 3
})
}),
'Polygon': new Style({
fill: new Fill({
color: 'rgba(0,255,255,0.5)'
}),
stroke: new Stroke({
color: '#0ff',
width: 1
})
}),
'MultiPoint': new Style({
image: new CircleStyle({
fill: new Fill({
color: 'rgba(255,0,255,0.5)'
}),
radius: 5,
stroke: new Stroke({
color: '#f0f',
width: 1
})
})
}),
'MultiLineString': new Style({
stroke: new Stroke({
color: '#0f0',
width: 3
})
}),
'MultiPolygon': new Style({
fill: new Fill({
color: 'rgba(0,0,255,0.5)'
}),
stroke: new Stroke({
color: '#00f',
width: 1
})
})
};
const styleFunction = function(feature, resolution) {
const featureStyleFunction = feature.getStyleFunction();
if (featureStyleFunction) {
return featureStyleFunction.call(feature, resolution);
} else {
return defaultStyle[feature.getGeometry().getType()];
}
};
const dragAndDropInteraction = new DragAndDrop({ const dragAndDropInteraction = new DragAndDrop({
formatConstructors: [ formatConstructors: [
@@ -105,8 +37,7 @@ dragAndDropInteraction.on('addfeatures', function(event) {
features: event.features features: event.features
}); });
map.addLayer(new VectorLayer({ map.addLayer(new VectorLayer({
source: vectorSource, source: vectorSource
style: styleFunction
})); }));
map.getView().fit(vectorSource.getExtent()); map.getView().fit(vectorSource.getExtent());
}); });
+1
View File
@@ -17,6 +17,7 @@ tags: "draw, edit, freehand, vector"
<form class="form-inline"> <form class="form-inline">
<label>Shape type &nbsp;</label> <label>Shape type &nbsp;</label>
<select id="type"> <select id="type">
<option value="Circle">Circle</option>
<option value="Square">Square</option> <option value="Square">Square</option>
<option value="Box">Box</option> <option value="Box">Box</option>
<option value="Star">Star</option> <option value="Star">Star</option>
+5 -4
View File
@@ -40,9 +40,6 @@ function addInteraction() {
} else if (value === 'Star') { } else if (value === 'Star') {
value = 'Circle'; value = 'Circle';
geometryFunction = function(coordinates, geometry) { geometryFunction = function(coordinates, geometry) {
if (!geometry) {
geometry = new Polygon(null);
}
const center = coordinates[0]; const center = coordinates[0];
const last = coordinates[1]; const last = coordinates[1];
const dx = center[0] - last[0]; const dx = center[0] - last[0];
@@ -59,7 +56,11 @@ function addInteraction() {
newCoordinates.push([center[0] + offsetX, center[1] + offsetY]); newCoordinates.push([center[0] + offsetX, center[1] + offsetY]);
} }
newCoordinates.push(newCoordinates[0].slice()); newCoordinates.push(newCoordinates[0].slice());
geometry.setCoordinates([newCoordinates]); if (!geometry) {
geometry = new Polygon([newCoordinates]);
} else {
geometry.setCoordinates([newCoordinates]);
}
return geometry; return geometry;
}; };
} }
+7 -10
View File
@@ -4,14 +4,14 @@ import {MultiPoint, Point} from '../src/ol/geom.js';
import TileLayer from '../src/ol/layer/Tile.js'; import TileLayer from '../src/ol/layer/Tile.js';
import OSM from '../src/ol/source/OSM.js'; import OSM from '../src/ol/source/OSM.js';
import {Circle as CircleStyle, Fill, Stroke, Style} from '../src/ol/style.js'; import {Circle as CircleStyle, Fill, Stroke, Style} from '../src/ol/style.js';
import {getVectorContext} from '../src/ol/render.js';
const tileLayer = new TileLayer({
source: new OSM()
});
const map = new Map({ const map = new Map({
layers: [ layers: [tileLayer],
new TileLayer({
source: new OSM()
})
],
target: 'map', target: 'map',
view: new View({ view: new View({
center: [0, 0], center: [0, 0],
@@ -22,7 +22,6 @@ const map = new Map({
const imageStyle = new Style({ const imageStyle = new Style({
image: new CircleStyle({ image: new CircleStyle({
radius: 5, radius: 5,
snapToPixel: false,
fill: new Fill({color: 'yellow'}), fill: new Fill({color: 'yellow'}),
stroke: new Stroke({color: 'red', width: 1}) stroke: new Stroke({color: 'red', width: 1})
}) })
@@ -31,7 +30,6 @@ const imageStyle = new Style({
const headInnerImageStyle = new Style({ const headInnerImageStyle = new Style({
image: new CircleStyle({ image: new CircleStyle({
radius: 2, radius: 2,
snapToPixel: false,
fill: new Fill({color: 'blue'}) fill: new Fill({color: 'blue'})
}) })
}); });
@@ -39,7 +37,6 @@ const headInnerImageStyle = new Style({
const headOuterImageStyle = new Style({ const headOuterImageStyle = new Style({
image: new CircleStyle({ image: new CircleStyle({
radius: 5, radius: 5,
snapToPixel: false,
fill: new Fill({color: 'black'}) fill: new Fill({color: 'black'})
}) })
}); });
@@ -49,8 +46,8 @@ const omegaTheta = 30000; // Rotation period in ms
const R = 7e6; const R = 7e6;
const r = 2e6; const r = 2e6;
const p = 2e6; const p = 2e6;
map.on('postcompose', function(event) { tileLayer.on('postrender', function(event) {
const vectorContext = event.vectorContext; const vectorContext = getVectorContext(event);
const frameState = event.frameState; const frameState = event.frameState;
const theta = 2 * Math.PI * frameState.time / omegaTheta; const theta = 2 * Math.PI * frameState.time / omegaTheta;
const coordinates = []; const coordinates = [];
-18
View File
@@ -1,18 +0,0 @@
#map {
position: relative;
}
#info {
position: absolute;
height: 1px;
width: 1px;
z-index: 100;
}
.tooltip.in {
opacity: 1;
}
.tooltip.top .tooltip-arrow {
border-top-color: white;
}
.tooltip-inner {
border: 2px solid white;
}
+1 -1
View File
@@ -136,7 +136,7 @@ const map = new Map({
layers: [raster, vector], layers: [raster, vector],
interactions: defaultInteractions().extend([new Select({ interactions: defaultInteractions().extend([new Select({
condition: function(evt) { condition: function(evt) {
return evt.type == 'pointermove' || return evt.type == 'pointermove' ||
evt.type == 'singleclick'; evt.type == 'singleclick';
}, },
style: selectStyleFunction style: selectStyleFunction
+2 -3
View File
@@ -26,9 +26,8 @@ const styleFunction = function(feature) {
scale = size / 10; scale = size / 10;
let style = styleCache[size]; let style = styleCache[size];
if (!style) { if (!style) {
const canvas = /** @type {HTMLCanvasElement} */ (document.createElement('canvas')); const canvas = document.createElement('canvas');
const vectorContext = toContext( const vectorContext = toContext(canvas.getContext('2d'),
/** @type {CanvasRenderingContext2D} */ (canvas.getContext('2d')),
{size: [size, size], pixelRatio: 1}); {size: [size, size], pixelRatio: 1});
vectorContext.setStyle(new Style({ vectorContext.setStyle(new Style({
fill: new Fill({color: 'rgba(255, 153, 0, 0.4)'}), fill: new Fill({color: 'rgba(255, 153, 0, 0.4)'}),
+6
View File
@@ -0,0 +1,6 @@
.overlay {
background-color: yellow;
border-radius: 6px;
padding: 4px;
white-space: nowrap;
}
+6 -5
View File
@@ -3,12 +3,13 @@ layout: example.html
title: Map Export title: Map Export
shortdesc: Example of exporting a map as a PNG image. shortdesc: Example of exporting a map as a PNG image.
docs: > docs: >
Example of exporting a map as a PNG image. This example requires a browser Example of exporting a map as a PNG image. This example use the <a href="https://www.npmjs.com/package/html-to-image">html-to-image</a>
that supports <a href="https://developer.mozilla.org/de/docs/Web/API/HTMLCanvasElement/toBlob#Browser_compatibility"> library.
<code>canvas.toBlob()</code></a>.
tags: "export, png, openstreetmap" tags: "export, png, openstreetmap"
resources:
- https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.3/FileSaver.min.js
--- ---
<div id="map" class="map"></div> <div id="map" class="map"></div>
<div style="display: none;">
<div class="overlay" id="null">Null Island</div>
</div>
<a id="export-png" class="btn btn-default"><i class="fa fa-download"></i> Download PNG</a> <a id="export-png" class="btn btn-default"><i class="fa fa-download"></i> Download PNG</a>
<a id="image-download" download="map.png"></a>
+23 -14
View File
@@ -1,10 +1,12 @@
import Map from '../src/ol/Map.js'; import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js'; import View from '../src/ol/View.js';
import {defaults as defaultControls} from '../src/ol/control.js'; import Overlay from '../src/ol/Overlay.js';
import GeoJSON from '../src/ol/format/GeoJSON.js'; import GeoJSON from '../src/ol/format/GeoJSON.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js'; import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import {OSM, Vector as VectorSource} from '../src/ol/source.js'; import {OSM, Vector as VectorSource} from '../src/ol/source.js';
import {toPng} from 'html-to-image';
const map = new Map({ const map = new Map({
layers: [ layers: [
new TileLayer({ new TileLayer({
@@ -18,27 +20,34 @@ const map = new Map({
}) })
], ],
target: 'map', target: 'map',
controls: defaultControls({
attributionOptions: {
collapsible: false
}
}),
view: new View({ view: new View({
center: [0, 0], center: [0, 0],
zoom: 2 zoom: 2
}) })
}); });
map.addOverlay(new Overlay({
position: [0, 0],
element: document.getElementById('null')
}));
// export options for html-to-image.
// See: https://github.com/bubkoo/html-to-image#options
const exportOptions = {
filter: function(element) {
return element.className ? element.className.indexOf('ol-control') === -1 : true;
}
};
document.getElementById('export-png').addEventListener('click', function() { document.getElementById('export-png').addEventListener('click', function() {
map.once('postcompose', function(event) { map.once('rendercomplete', function() {
const canvas = event.context.canvas; toPng(map.getTargetElement(), exportOptions)
if (navigator.msSaveBlob) { .then(function(dataURL) {
navigator.msSaveBlob(canvas.msToBlob(), 'map.png'); const link = document.getElementById('image-download');
} else { link.href = dataURL;
canvas.toBlob(function(blob) { link.click();
saveAs(blob, 'map.png');
}); });
}
}); });
map.renderSync(); map.renderSync();
}); });
+25 -57
View File
@@ -1,11 +1,11 @@
import Map from '../src/ol/Map.js'; import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js'; import View from '../src/ol/View.js';
import {defaults as defaultControls} from '../src/ol/control.js';
import WKT from '../src/ol/format/WKT.js'; import WKT from '../src/ol/format/WKT.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js'; import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import {unByKey} from '../src/ol/Observable.js';
import {OSM, Vector as VectorSource} from '../src/ol/source.js'; import {OSM, Vector as VectorSource} from '../src/ol/source.js';
import {toJpeg} from 'html-to-image';
const raster = new TileLayer({ const raster = new TileLayer({
source: new OSM() source: new OSM()
}); });
@@ -27,11 +27,6 @@ const vector = new VectorLayer({
const map = new Map({ const map = new Map({
layers: [raster, vector], layers: [raster, vector],
target: 'map', target: 'map',
controls: defaultControls({
attributionOptions: {
collapsible: false
}
}),
view: new View({ view: new View({
center: [0, 0], center: [0, 0],
zoom: 2 zoom: 2
@@ -48,8 +43,14 @@ const dims = {
a5: [210, 148] a5: [210, 148]
}; };
let loading = 0;
let loaded = 0; // export options for html-to-image.
// See: https://github.com/bubkoo/html-to-image#options
const exportOptions = {
filter: function(element) {
return element.className.indexOf('ol-control') === -1;
}
};
const exportButton = document.getElementById('export-pdf'); const exportButton = document.getElementById('export-pdf');
@@ -63,60 +64,27 @@ exportButton.addEventListener('click', function() {
const dim = dims[format]; const dim = dims[format];
const width = Math.round(dim[0] * resolution / 25.4); const width = Math.round(dim[0] * resolution / 25.4);
const height = Math.round(dim[1] * resolution / 25.4); const height = Math.round(dim[1] * resolution / 25.4);
const size = /** @type {module:ol/size~Size} */ (map.getSize()); const size = map.getSize();
const extent = map.getView().calculateExtent(size); const extent = map.getView().calculateExtent(size);
const source = raster.getSource(); map.once('rendercomplete', function() {
toJpeg(map.getTargetElement(), exportOptions).then(function(dataUrl) {
const tileLoadStart = function() { const pdf = new jsPDF('landscape', undefined, format);
++loading; pdf.addImage(dataUrl, 'JPEG', 0, 0, dim[0], dim[1]);
}; pdf.save('map.pdf');
// Reset original map size
let timer; map.setSize(size);
let keys = []; map.getView().fit(extent, {
size: size
function tileLoadEndFactory(canvas) { });
return () => { exportButton.disabled = false;
++loaded; document.body.style.cursor = 'auto';
if (timer) { });
clearTimeout(timer);
timer = null;
}
if (loading === loaded) {
timer = window.setTimeout(() => {
loading = 0;
loaded = 0;
const data = canvas.toDataURL('image/jpeg');
const pdf = new jsPDF('landscape', undefined, format);
pdf.addImage(data, 'JPEG', 0, 0, dim[0], dim[1]);
pdf.save('map.pdf');
keys.forEach(unByKey);
keys = [];
map.setSize(size);
map.getView().fit(extent, {size});
map.renderSync();
exportButton.disabled = false;
document.body.style.cursor = 'auto';
}, 500);
}
};
}
map.once('postcompose', function(event) {
const canvas = event.context.canvas;
const tileLoadEnd = tileLoadEndFactory(canvas);
keys = [
source.on('tileloadstart', tileLoadStart),
source.on('tileloadend', tileLoadEnd),
source.on('tileloaderror', tileLoadEnd)
];
tileLoadEnd();
}); });
// Set print size
const printSize = [width, height]; const printSize = [width, height];
map.setSize(printSize); map.setSize(printSize);
map.getView().fit(extent, {size: printSize}); map.getView().fit(extent, {size: printSize});
loaded = -1;
map.renderSync();
}, false); }, false);
+9
View File
@@ -0,0 +1,9 @@
---
layout: example.html
title: Constrained Extent
shortdesc: Example of a view with a constrained extent.
docs: >
This map has a view that is constrained in an extent. This is done using the `extent` view option. Please note that specifying `constrainOnlyCenter: true` would only apply the extent restriction to the view center.
tags: "view, extent, constrain, restrict"
---
<div id="map" class="map"></div>

Some files were not shown because too many files have changed in this diff Show More