Compare commits

...

1077 Commits

Author SHA1 Message Date
Andreas Hocevar
bdf969cc95 Update package version to 6.3.0 2020-04-02 22:04:52 +02:00
Andreas Hocevar
5357b4fced Changelog for v6.3.0 2020-04-02 22:03:53 +02:00
Andreas Hocevar
e683c0a0c5 Merge pull request #10490 from bepremeg/CK-240_RemoveSelectEventHandler
Select style multiple select interactions removed
2020-04-02 20:26:52 +02:00
Geert Premereur
ad77143417 Experiment with test impact further (3) 2020-04-02 20:05:15 +02:00
Geert Premereur
cf1191505e Experiment with test impact further (2) 2020-04-02 20:05:15 +02:00
Geert Premereur
3909938a70 Experiment with test impact further 2020-04-02 20:05:15 +02:00
Geert Premereur
e9e75cd8af temporarily disable test to observe impact 2020-04-02 20:05:14 +02:00
Geert Premereur
2d7e55e26a Small code cleanup
drop superfluous if.
2020-04-02 20:05:14 +02:00
Geert Premereur
dc957ec104 CK-240: fix lint errors 2020-04-02 20:05:14 +02:00
Geert Premereur
a30a92a963 CK-240: fix multiple select interactions on map
event handlers have to be (de)activated when the interaction is added or removed to the map, not when constructed

added unit test
2020-04-02 20:05:14 +02:00
Geert Premereur
10c7f08fa4 Select style multiple select interactions removed
This fixes issue 10486 by removing the event listeners when an
interaction is removed from a map.
2020-04-02 20:00:37 +02:00
Tim Schaub
c196f2f7b0 Merge pull request #10531 from pjsg/fix_image_reproj
Dynamically chose the number of subdivisions based on the size of the Image to reproject
2020-04-02 11:50:30 -06:00
Tim Schaub
0034d6f206 Merge pull request #10618 from MoonE/apidoc-debug-task
Add apidoc-debug task to debug the apidoc generation process
2020-04-02 11:27:38 -06:00
Tim Schaub
b4e51ed841 Merge pull request #10343 from mike-000/patch-10
Correct interactions with circle geometries when using user coordinates
2020-04-02 11:06:48 -06:00
philip
72907566bb Add comment to explain calculation. 2020-04-02 14:14:13 +00:00
Andreas Hocevar
612910bcd2 Merge pull request #10864 from ahocevar/dependency-updates
Update dependencies
2020-04-02 14:12:55 +02:00
Andreas Hocevar
8e6b5ce0bf Update dependencies 2020-04-02 13:50:12 +02:00
Tim Schaub
a073c5ab1e Merge pull request #10859 from SDaron/clipping-layer
Add an example of clipping layer based on a vector source
2020-04-01 03:59:58 -06:00
Andreas Hocevar
5e8102bbd1 Merge pull request #10850 from ahocevar/enum-docs
API docs for enums
2020-04-01 11:47:55 +02:00
Simon Daron
23c2e1062c Add an example of clipping layer based on a vector source 2020-04-01 10:08:37 +02:00
Andreas Hocevar
7dd42ef19f Key update 2020-04-01 09:07:07 +02:00
Andreas Hocevar
061ccb987b Key update 2020-04-01 08:43:52 +02:00
Andreas Hocevar
001128c98e Merge pull request #10857 from mike-000/patch-9
Make OSM XML example work at dateline and replace Bing with MapTiler
2020-04-01 08:33:34 +02:00
Andreas Hocevar
27169c2942 Merge pull request #10858 from ejn/overlay-autopan-on-set-map-10843
Perform auto-pan when adding an Overlay to a Map
2020-04-01 08:13:56 +02:00
Edward Nash
2b863793d0 Perform auto-pan when adding an Overlay to a Map
* Auto-pan settings currently only activate when the position of the
   Overlay is set and the Overlay is already on a Map.

 * The consequence of this is that creating an Overlay with position
   set and then adding to a Map results in no auto-pan being performed -
   it is necessary to first create the Overlay, then add to a Map and
   finally set the position in order for the Map to auto-pan.

 * This commit changes this behaviour so that the auto-pan settings are
   also considered when the map property of the Overlay is set and not
   only when the position property is set, leading to a more intuitive
   behaviour.

 * Fixes Issue #10843
2020-04-01 06:50:01 +02:00
mike-000
82dd764d13 Replace Bing layer with MapTiler 2020-03-31 22:37:51 +01:00
mike-000
7b55fe381e Replace Bing layer with MapTiler 2020-03-31 22:36:07 +01:00
mike-000
3c0ff15414 Cap Longitudes and replace Bing with MapTiler 2020-03-31 22:32:02 +01:00
Andreas Hocevar
2401e0af00 Merge pull request #10646 from mike-000/patch-1
Write fill and outline in KML PolyStyle
2020-03-31 23:22:15 +02:00
Andreas Hocevar
f66b44068c Merge pull request #10800 from ejn/overlay-pan-into-view-10741
Make Overlay.panIntoView an API method
2020-03-31 23:19:38 +02:00
Andreas Hocevar
25fcc6b604 Merge pull request #10855 from openlayers/dependabot/npm_and_yarn/rollup-2.3.0
Bump rollup from 2.1.0 to 2.3.0
2020-03-31 23:00:56 +02:00
Andreas Hocevar
820984d0eb Merge pull request #10854 from openlayers/dependabot/npm_and_yarn/ol-mapbox-style-6.1.1
Bump ol-mapbox-style from 6.1.0 to 6.1.1
2020-03-31 22:59:34 +02:00
Andreas Hocevar
ea12f7945f Merge pull request #10853 from openlayers/dependabot/npm_and_yarn/buble-0.20.0
Bump buble from 0.19.8 to 0.20.0
2020-03-31 22:46:58 +02:00
Andreas Hocevar
7334951056 Merge pull request #10852 from openlayers/dependabot/npm_and_yarn/webpack-4.42.1
Bump webpack from 4.42.0 to 4.42.1
2020-03-31 22:44:46 +02:00
Andreas Hocevar
78202c78b9 Merge pull request #10807 from mike-000/patch-2
Handle Graticule wrapX without calculating excess meridians
2020-03-31 21:02:16 +02:00
mike-000
bfca3cf713 change loader check back to equal extents 2020-03-31 17:00:12 +01:00
mike-000
929b9f4068 change loader check back to equal extents 2020-03-31 16:55:23 +01:00
mike-000
149ca7efad return previous extent if extents are approx equal 2020-03-31 16:26:30 +01:00
Andreas Hocevar
9af1e223af More tests and docs for extent and coordinate wrapX 2020-03-31 16:11:06 +02:00
Andreas Hocevar
cdafc4fa05 Add approximatelyEquals function for comparing extents 2020-03-31 16:11:06 +02:00
mike-000
2c7f58dbed remove unused import 2020-03-31 16:03:14 +02:00
mike-000
6013763480 replace containsExtent with equals in strategy 2020-03-31 16:03:14 +02:00
mike-000
99a1641afe remove duplication 2020-03-31 16:03:13 +02:00
mike-000
e3ad05f805 Include center at right edge in calculations 2020-03-31 16:03:13 +02:00
mike-000
660845f5b8 Include center at right edge in calculations 2020-03-31 16:03:13 +02:00
Andreas Hocevar
098885a006 New wrapX functions for coordinate and extent 2020-03-31 16:03:12 +02:00
mike-000
48b79cf7d1 only use one extent if two are passed 2020-03-31 16:03:12 +02:00
Andreas Hocevar
a35794ae97 Load two extents for views that cross the date line 2020-03-31 16:03:12 +02:00
mike-000
3d8495742b Simplify following renderer changes 2020-03-31 16:03:11 +02:00
Andreas Hocevar
190cd202a1 Always use load extent with real world center 2020-03-31 16:03:11 +02:00
mike-000
0c9324f398 Test extents passed to loader 2020-03-31 16:03:10 +02:00
mike-000
67c37c2163 Test extents passed to loader 2020-03-31 16:03:10 +02:00
mike-000
3b760dc308 Use getLoadWrapX() to determine extent to load 2020-03-31 16:03:10 +02:00
mike-000
b560dab513 Set loadWrapX: false in source 2020-03-31 16:03:09 +02:00
mike-000
f6bbf414a8 Add loadWrapX option and getter 2020-03-31 16:03:09 +02:00
mike-000
f6ede1a9c0 handle wrapX without calculating excess meridians
override extent validation only if the extent includes parts of two worlds
2020-03-31 16:03:08 +02:00
mike-000
516a75ae22 Always load frameState extent for graticule layers
reorder and comment
2020-03-31 16:03:08 +02:00
mike-000
bad0ff38ca handle wrapX without calculating excess meridians
avoid calculating more meridians or longer parallels than necessary when viewport extent includes a wrapped world
2020-03-31 16:03:08 +02:00
mike-000
772741cd0e Always load frameState extent for graticule layers
do not call graticule loader with wrapped projection extent
2020-03-31 16:03:06 +02:00
dependabot-preview[bot]
c92f72ac3f Bump rollup from 2.1.0 to 2.3.0
Bumps [rollup](https://github.com/rollup/rollup) from 2.1.0 to 2.3.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.1.0...v2.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-30 08:59:06 +00:00
dependabot-preview[bot]
e583e0775d Bump ol-mapbox-style from 6.1.0 to 6.1.1
Bumps [ol-mapbox-style](https://github.com/openlayers/ol-mapbox-style) from 6.1.0 to 6.1.1.
- [Release notes](https://github.com/openlayers/ol-mapbox-style/releases)
- [Changelog](https://github.com/openlayers/ol-mapbox-style/blob/master/CHANGELOG.md)
- [Commits](https://github.com/openlayers/ol-mapbox-style/compare/v6.1.0...v6.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-30 08:57:39 +00:00
dependabot-preview[bot]
6ca6c70aac Bump buble from 0.19.8 to 0.20.0
Bumps [buble](https://github.com/bublejs/buble) from 0.19.8 to 0.20.0.
- [Release notes](https://github.com/bublejs/buble/releases)
- [Changelog](https://github.com/bublejs/buble/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bublejs/buble/compare/v0.19.8...v0.20.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-30 08:56:40 +00:00
dependabot-preview[bot]
8222118fb1 Bump webpack from 4.42.0 to 4.42.1
Bumps [webpack](https://github.com/webpack/webpack) from 4.42.0 to 4.42.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.42.0...v4.42.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-30 08:55:08 +00:00
Edward Nash
2537da690a Add check that Position is set in panIntoView()
* If panIntoView is an API method, it may now be called when the
   position of the overlay has not yet been set.

 * Adds a check for a set position to the panIntoView() method,
   and removes the now unneccessary check in handlePositionChanged()
2020-03-30 07:15:03 +02:00
Edward Nash
b1b01cf943 Allow pan options supplied as autoPan
* Follow the suggestion from @ahocevar to use the existing
   autoPan constructor option instead of creating a new autoPanOptions
   option

 * Internally also store the autoPanOptions in autoPan
2020-03-30 07:12:52 +02:00
Andreas Hocevar
0a7f7db817 Merge pull request #10795 from mike-000/patch-6
Show graticule labels in wrapped worlds
2020-03-28 14:46:54 +01:00
Andreas Hocevar
b39e12406a Merge pull request #10824 from MoonE/icon-color-ie11
Fix drawing svg icon with color option in ie11
2020-03-28 14:26:10 +01:00
Andreas Hocevar
dd44ecf185 Only document enums when they have API properties 2020-03-28 14:17:56 +01:00
Andreas Hocevar
a6a5b72c57 Only mark items as api, not enums 2020-03-27 12:33:54 +01:00
Maximilian Krög
1020c384bb Fix two missing apidoc links
Add IconAnchorUnits and IconOrigin to the api.
2020-03-27 12:33:54 +01:00
Andreas Hocevar
f89b32de66 Merge pull request #10802 from MoonE/apidoc-add-default-export-enums
Apidoc add default-exported enums
2020-03-27 12:07:12 +01:00
Andreas Hocevar
f24ecf7b2c Merge pull request #10805 from regileeso/master
make ImageSourceEventType available for consumers
2020-03-27 11:35:30 +01:00
Andreas Hocevar
0366bca7c1 Merge pull request #10822 from lysek/master
parsing color from IconStyle in KML files
2020-03-27 11:31:49 +01:00
Andreas Hocevar
597e3a6bca Merge pull request #10848 from horsenit/master
Speed up Overlay element positioning using CSS translate()
2020-03-27 10:08:21 +01:00
horsenit
03ea8911f6 Fix type checking for IE9 style.msTransform 2020-03-27 03:03:21 -04:00
horsenit
83a5cd63c6 Speed up Overlay element positioning using CSS translate() 2020-03-27 02:26:01 -04:00
Andreas Hocevar
2d8782b1da Merge pull request #9590 from mloskot/ml/wmts-augment-tms-extent
Calculate tile grid extent from extent of bottom-level tile matrix
2020-03-26 23:23:54 +01:00
Andreas Hocevar
f50ae44150 Merge pull request #10845 from gedaiu/master
Fix createHitDetectionImageData error for features with no size
2020-03-26 23:20:43 +01:00
Szabo Bogdan
6aa398cbec Fix hit detection for images with missing size 2020-03-26 21:23:23 +01:00
Szabo Bogdan
fbe7b0bd78 Fix test typo 2020-03-26 21:22:08 +01:00
Mateusz Łoskot
98e8bec370 Calculate tile grid extent from extent of bottom-level tile matrix
Prefers extent derived from the tile matrix set in the capabilities
over default projection extent.
2020-03-26 19:17:32 +01:00
Andreas Hocevar
8f46bb563b Merge pull request #10842 from mike-000/patch-8
Fix custom symbol example short description
2020-03-25 14:36:01 +01:00
mike-000
c3d9ac6265 Fix description 2020-03-25 12:55:57 +00:00
Andreas Hocevar
60dd85fa08 Merge pull request #10828 from ahocevar/offscreen-canvas
Offscreen canvas example
2020-03-24 21:45:06 +01:00
Andreas Hocevar
d70b3aa3d5 Move catch-up logic to main thread
This avoids requestAnimationFrame in the worker.
2020-03-24 12:14:31 +01:00
Andreas Hocevar
576f50331b Add attribution 2020-03-23 20:30:58 +01:00
Andreas Hocevar
5113d70701 Rename example 2020-03-23 19:37:13 +01:00
Andreas Hocevar
0e1af6836f Example cleanup 2020-03-23 12:47:27 +01:00
Andreas Hocevar
828becf68e Position rotate control in the bottom left 2020-03-23 12:47:26 +01:00
Andreas Hocevar
941df3b270 Fix issues with TypeScript's built-in webworker lib 2020-03-23 12:47:26 +01:00
Andreas Hocevar
28f390828d Use same data as in mapbox-style example 2020-03-23 12:47:26 +01:00
Andreas Hocevar
ade9ac8857 Make mapbox-style example fullscreen on demand 2020-03-23 12:47:25 +01:00
Andreas Hocevar
bc1be50cbc Add worker support to examples 2020-03-23 12:47:25 +01:00
Andreas Hocevar
30ac91c4ae Simpler feature check 2020-03-23 12:47:25 +01:00
Andreas Hocevar
b9bfe45d86 Update ol-mapbox-style 2020-03-23 12:47:25 +01:00
Andreas Hocevar
3f7f999db0 Avoid try/catch, DOM and workers 2020-03-23 12:46:24 +01:00
Andreas Hocevar
6dcc54bfb8 'action' instead of 'type' as message identifier 2020-03-23 12:46:24 +01:00
Andreas Hocevar
f80c175263 Do not transform rotated views 2020-03-23 12:46:23 +01:00
Andreas Hocevar
3217bf1316 Add style handling 2020-03-23 12:46:23 +01:00
Andreas Hocevar
10c3330580 Use correct transorms at the right time 2020-03-23 12:46:23 +01:00
Andreas Hocevar
06f6ba13c8 Make font loading work in workers 2020-03-23 12:46:22 +01:00
Andreas Hocevar
bb1ca76bcc Make Executor work in workers 2020-03-23 12:46:22 +01:00
Andreas Hocevar
a93edb338b Instant UI feedback 2020-03-23 12:46:21 +01:00
Andreas Hocevar
56edbb2d73 Make createTransformToString a standalone function 2020-03-23 12:46:21 +01:00
Andreas Hocevar
3f5022630b Create a basic example for OffscreenCanvas rendering 2020-03-23 12:46:20 +01:00
Andreas Hocevar
8b76f52652 Make createTransformString work in non-window context 2020-03-23 12:46:20 +01:00
Andreas Hocevar
717b8ad0cf Make createCanvasContext2D work in non-window context 2020-03-23 12:46:19 +01:00
Andreas Hocevar
f896d9fb03 Move tile priority function to the TileQueue module 2020-03-23 12:46:18 +01:00
Andreas Hocevar
3944a5a038 Make DEVICE_PIXEL_RATIO work in non-window context 2020-03-23 12:46:18 +01:00
Andreas Hocevar
c7f2399e7f Merge pull request #10837 from openlayers/dependabot/npm_and_yarn/ol-mapbox-style-6.1.0
Bump ol-mapbox-style from 6.0.1 to 6.1.0
2020-03-23 11:48:01 +01:00
Andreas Hocevar
306a773e61 Merge pull request #10836 from openlayers/dependabot/npm_and_yarn/coveralls-3.0.11
Bump coveralls from 3.0.9 to 3.0.11
2020-03-23 11:24:05 +01:00
Andreas Hocevar
6e4351f119 Merge pull request #10835 from openlayers/dependabot/npm_and_yarn/babel/preset-env-7.9.0
Bump @babel/preset-env from 7.8.7 to 7.9.0
2020-03-23 11:04:38 +01:00
Andreas Hocevar
7c23c501c3 Merge pull request #10834 from openlayers/dependabot/npm_and_yarn/rollup-2.1.0
Bump rollup from 1.32.1 to 2.1.0
2020-03-23 11:03:41 +01:00
Andreas Hocevar
98ddf7a147 Merge pull request #10833 from openlayers/dependabot/npm_and_yarn/fs-extra-9.0.0
Bump fs-extra from 8.1.0 to 9.0.0
2020-03-23 11:00:21 +01:00
Andreas Hocevar
6969ee6275 Merge pull request #10832 from openlayers/dependabot/npm_and_yarn/babel/core-7.9.0
Bump @babel/core from 7.8.7 to 7.9.0
2020-03-23 10:58:32 +01:00
Andreas Hocevar
1331131e04 Merge pull request #10831 from openlayers/dependabot/npm_and_yarn/babel-loader-8.1.0
Bump babel-loader from 8.0.6 to 8.1.0
2020-03-23 10:44:09 +01:00
dependabot-preview[bot]
b70c9a70f8 Bump ol-mapbox-style from 6.0.1 to 6.1.0
Bumps [ol-mapbox-style](https://github.com/openlayers/ol-mapbox-style) from 6.0.1 to 6.1.0.
- [Release notes](https://github.com/openlayers/ol-mapbox-style/releases)
- [Changelog](https://github.com/openlayers/ol-mapbox-style/blob/master/CHANGELOG.md)
- [Commits](https://github.com/openlayers/ol-mapbox-style/compare/v6.0.1...v6.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-23 09:44:03 +00:00
Andreas Hocevar
0fdfed439c Merge pull request #10830 from openlayers/dependabot/npm_and_yarn/mocha-7.1.1
Bump mocha from 7.1.0 to 7.1.1
2020-03-23 10:41:41 +01:00
dependabot-preview[bot]
3512638900 Bump mocha from 7.1.0 to 7.1.1
Bumps [mocha](https://github.com/mochajs/mocha) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v7.1.0...v7.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-23 09:18:35 +00:00
Andreas Hocevar
124d00daf2 Merge pull request #10829 from openlayers/dependabot/npm_and_yarn/marked-0.8.2
Bump marked from 0.8.0 to 0.8.2
2020-03-23 10:16:07 +01:00
Jiri Lysek
2b6e767840 encoding color into KML 2020-03-23 10:10:12 +01:00
dependabot-preview[bot]
d61da37191 Bump coveralls from 3.0.9 to 3.0.11
Bumps [coveralls](https://github.com/nickmerwin/node-coveralls) from 3.0.9 to 3.0.11.
- [Release notes](https://github.com/nickmerwin/node-coveralls/releases)
- [Commits](https://github.com/nickmerwin/node-coveralls/compare/3.0.9...3.0.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-23 09:01:54 +00:00
dependabot-preview[bot]
7dd6bb7c1b Bump @babel/preset-env from 7.8.7 to 7.9.0
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.8.7 to 7.9.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.7...v7.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-23 09:01:12 +00:00
dependabot-preview[bot]
274135db2e Bump rollup from 1.32.1 to 2.1.0
Bumps [rollup](https://github.com/rollup/rollup) from 1.32.1 to 2.1.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v1.32.1...v2.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-23 09:00:00 +00:00
dependabot-preview[bot]
5ab7f5dacf Bump fs-extra from 8.1.0 to 9.0.0
Bumps [fs-extra](https://github.com/jprichardson/node-fs-extra) from 8.1.0 to 9.0.0.
- [Release notes](https://github.com/jprichardson/node-fs-extra/releases)
- [Changelog](https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jprichardson/node-fs-extra/compare/8.1.0...9.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-23 08:59:43 +00:00
dependabot-preview[bot]
d8b2e452d5 Bump @babel/core from 7.8.7 to 7.9.0
Bumps [@babel/core](https://github.com/babel/babel) from 7.8.7 to 7.9.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.7...v7.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-23 08:58:20 +00:00
dependabot-preview[bot]
bbc8870832 Bump babel-loader from 8.0.6 to 8.1.0
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.0.6 to 8.1.0.
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.0.6...v8.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-23 08:57:18 +00:00
dependabot-preview[bot]
52d840b35d Bump marked from 0.8.0 to 0.8.2
Bumps [marked](https://github.com/markedjs/marked) from 0.8.0 to 0.8.2.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v0.8.0...v0.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-23 08:55:33 +00:00
Maximilian Krög
24f9e1c6ac Update comment for the IconImage replaceColor_ method 2020-03-22 13:29:29 +01:00
Maximilian Krög
fbb0364ea5 Make Icon's color attribute work in ie11 2020-03-21 00:33:41 +01:00
Maximilian Krög
f942c482d8 Svg icon needs imgSize to display in ie11 2020-03-21 00:15:49 +01:00
Jiri Lysek
7bf44078e1 fixed type comment 2020-03-19 13:32:02 +01:00
Jiri Lysek
d5b3d27e62 parsing color from IconStyle in KML files 2020-03-19 13:02:53 +01:00
Marc Jansen
3674ec5481 Merge pull request #10816 from marcjansen/npm-funding-field
Add 'funding' field to `package.json`
2020-03-18 10:51:45 +01:00
Marc Jansen
0af85f7396 Add 'funding' field to package.json
This was introduced to `npm` recently and allows users of the ol
package to e.g. type `npm fund ol` and our opencollective page
opens in a browser. Just typing `npm fund` in a npm package will list
the funding options of the dependencies of the current project.
2020-03-18 10:15:31 +01:00
Tim Schaub
9fe84e4dba Merge pull request #10813 from tschaub/sponsor
Add sponsors section to the readme
2020-03-17 05:18:03 -06:00
Tim Schaub
dca694ccc9 Add sponsors section to the readme 2020-03-16 17:10:49 -06:00
Andreas Hocevar
ca6288a800 Merge pull request #10811 from openlayers/dependabot/npm_and_yarn/sinon-9.0.1
Bump sinon from 9.0.0 to 9.0.1
2020-03-16 18:47:32 +01:00
Andreas Hocevar
d85b5065f5 Merge pull request #10810 from openlayers/dependabot/npm_and_yarn/rollup-plugin-terser-5.3.0
Bump rollup-plugin-terser from 5.2.0 to 5.3.0
2020-03-16 18:47:03 +01:00
Andreas Hocevar
bb0c6635a2 Merge pull request #10809 from openlayers/dependabot/npm_and_yarn/yargs-15.3.1
Bump yargs from 15.3.0 to 15.3.1
2020-03-16 18:46:29 +01:00
dependabot-preview[bot]
21b2d8aa48 Bump sinon from 9.0.0 to 9.0.1
Bumps [sinon](https://github.com/sinonjs/sinon) from 9.0.0 to 9.0.1.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v9.0.0...v9.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-16 08:21:07 +00:00
dependabot-preview[bot]
7bc7affccc Bump rollup-plugin-terser from 5.2.0 to 5.3.0
Bumps [rollup-plugin-terser](https://github.com/TrySound/rollup-plugin-terser) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/TrySound/rollup-plugin-terser/releases)
- [Commits](https://github.com/TrySound/rollup-plugin-terser/compare/v5.2.0...v5.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-16 08:20:12 +00:00
dependabot-preview[bot]
47ce1490f8 Bump yargs from 15.3.0 to 15.3.1
Bumps [yargs](https://github.com/yargs/yargs) from 15.3.0 to 15.3.1.
- [Release notes](https://github.com/yargs/yargs/releases)
- [Changelog](https://github.com/yargs/yargs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/yargs/compare/v15.3.0...v15.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-16 08:19:01 +00:00
Frédéric Junod
e5131f811f Merge pull request #10806 from openlayers/dependabot/npm_and_yarn/acorn-6.4.1
[Security] Bump acorn from 6.1.1 to 6.4.1
2020-03-14 07:28:36 +01:00
dependabot-preview[bot]
3c1ad1fc1d [Security] Bump acorn from 6.1.1 to 6.4.1
Bumps [acorn](https://github.com/acornjs/acorn) from 6.1.1 to 6.4.1. **This update includes a security fix.**
- [Release notes](https://github.com/acornjs/acorn/releases)
- [Commits](https://github.com/acornjs/acorn/compare/6.1.1...6.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-13 21:23:16 +00:00
regileeso
406c38403b make ImageSourceEventType available for consumers 2020-03-13 11:36:20 +00:00
Edward Nash
859bf338a2 Use Object for options to Overlay panIntoView
* animation and margin encapsulated in a single object to allow
   easier extension in future

 * Constructor options extended to allow single object for
   autoPan; separate options still allowed but deprecated

 * Protected fields for animation and margin replaced with single
   field
2020-03-13 10:12:14 +01:00
Maximilian Krög
873cccc4f3 Add default exported enums to apidoc 2020-03-12 22:29:46 +01:00
Maximilian Krög
f2477622c3 Remove redundant check if doclet kind is typedef 2020-03-12 22:29:34 +01:00
Maximilian Krög
058ca59233 Also correctly detect default exports without an identifier 2020-03-12 21:36:19 +01:00
Edward Nash
022caae848 Document default margin in Overlay.panIntoView 2020-03-12 09:37:40 +01:00
Edward Nash
092a199757 Make Overlay.panIntoView an API method
* Add parameters for custom animation parameters and margin

 * Add protected wrapper method for previous autoPan functionality

See #10741
2020-03-12 08:57:32 +01:00
Andreas Hocevar
0b7b979c89 Merge pull request #10474 from mike-000/patch-2
Fix for undefined source in Image layer
2020-03-11 18:05:29 +01:00
mike-000
4ca966bd92 show labels in wrapped worlds
test labels in wrapped world
2020-03-11 16:06:31 +00:00
Andreas Hocevar
f448d7179a Merge pull request #10785 from ahocevar/zoomify-retina
Detect Zoomify server-side retina tiles
2020-03-11 11:05:57 +01:00
Tim Schaub
7299c0dd04 Merge pull request #10787 from mike-000/patch-7
Improved projection extent in the "Reprojection with EPSG.io Search" example
2020-03-10 16:56:08 -06:00
Andreas Hocevar
2f35a3be75 Merge pull request #10792 from flexjoly/native-javascript-eventListener.handleEvent
Add support for EventListener Object
2020-03-10 19:17:22 +01:00
Andreas Hocevar
5f283496ed Merge pull request #10777 from ahocevar/geolocation-example
Keep the render loop running during simulation
2020-03-10 16:11:14 +01:00
Andreas Hocevar
e59aa02a15 Remove duplicated for loop 2020-03-10 14:20:20 +01:00
Andreas Hocevar
4fa454f2b3 Fix types 2020-03-10 14:20:12 +01:00
Andreas Hocevar
ed10ac168b Merge pull request #10791 from sosmo/fix-ios-pointermove-2
iOS 12 touchmove: Prevent touchmove event default when no preceding pointer event
2020-03-10 13:40:59 +01:00
Andreas Hocevar
5e51e397bb Merge pull request #10786 from ahocevar/resolve-contraints-on-updatesize
Resolve constraints when updating size
2020-03-10 13:05:29 +01:00
Lydia de Jongh
e099257461 Add support for EventListener Object
See: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener

Support for native javascript eventListener.handleEvent()

Typedef not correct yet.
2020-03-10 12:51:05 +01:00
Sampo Osmonen
dd480feda1 Prevent touchmove event default when no preceding pointer event
Prevents zooming the page instead of the map on the first interaction
2020-03-10 12:56:15 +02:00
Andreas Hocevar
9f76ec197a Merge pull request #10788 from sosmo/fix-ios-pointermove
Add safeguard to handleTouchMove
2020-03-10 09:49:42 +01:00
Andreas Hocevar
a1386e3a1f Update comment 2020-03-10 09:36:10 +01:00
Olivier Guyot
7b4e522e8f Merge pull request #10722 from jellyedwards/master
fix: handle layer clear event in case clear(true) called
2020-03-10 09:27:15 +01:00
John Leonard
e6a2d4b235 fix: handle layer clear event in case clear(true) called
and individual delete feature events aren't generated
2020-03-09 18:36:12 +00:00
Sampo Osmonen
85d84a0c40 Add safeguard to handleTouchMove 2020-03-09 19:37:21 +02:00
mike-000
7c22b5a238 Improve the calculation of projection extent
fix quotes
2020-03-09 16:09:07 +00:00
mike-000
230c6b011e Improve the calculation of projection extent
Add show graticule option
2020-03-09 15:24:01 +00:00
Andreas Hocevar
c5fd013e31 Resolve constraints when updating size 2020-03-09 16:20:21 +01:00
mike-000
6019a61cca Add show graticule option 2020-03-09 14:54:24 +00:00
dependabot-preview[bot]
831c5f8c69 Merge pull request #10783 from openlayers/dependabot/npm_and_yarn/babel/preset-env-7.8.7 2020-03-09 14:53:23 +00:00
dependabot-preview[bot]
ed748bf173 Merge pull request #10780 from openlayers/dependabot/npm_and_yarn/babel/core-7.8.7 2020-03-09 14:33:09 +00:00
dependabot-preview[bot]
51b4ee3137 Merge pull request #10784 from openlayers/dependabot/npm_and_yarn/rollup-plugin-babel-4.4.0 2020-03-09 14:32:29 +00:00
Andreas Hocevar
686b4dbdc8 Merge pull request #10723 from mike-000/patch-6
Improve the extent transforms used by Graticule and handle extents crossing the dateline
2020-03-09 15:26:52 +01:00
dependabot-preview[bot]
c1f40b4d98 Merge pull request #10782 from openlayers/dependabot/npm_and_yarn/webpack-4.42.0 2020-03-09 14:26:26 +00:00
Andreas Hocevar
5424e3eae2 Keep the render loop running during simulation 2020-03-09 15:25:49 +01:00
Andreas Hocevar
ad476f6086 Detect Zoomify server-side retina tiles 2020-03-09 15:22:43 +01:00
dependabot-preview[bot]
9ef220d5de Merge pull request #10781 from openlayers/dependabot/npm_and_yarn/yargs-15.3.0 2020-03-09 14:04:09 +00:00
dependabot-preview[bot]
d4b76299e7 Merge pull request #10779 from openlayers/dependabot/npm_and_yarn/rollup-1.32.1 2020-03-09 14:02:32 +00:00
dependabot-preview[bot]
2123d19926 Bump rollup-plugin-babel from 4.3.3 to 4.4.0
Bumps [rollup-plugin-babel](https://github.com/rollup/rollup-plugin-babel) from 4.3.3 to 4.4.0.
- [Release notes](https://github.com/rollup/rollup-plugin-babel/releases)
- [Changelog](https://github.com/rollup/rollup-plugin-babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup-plugin-babel/compare/v4.3.3...v4.4.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-09 08:38:41 +00:00
dependabot-preview[bot]
0613444f12 Bump @babel/preset-env from 7.8.6 to 7.8.7
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.8.6 to 7.8.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.6...v7.8.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-09 08:37:51 +00:00
dependabot-preview[bot]
80c36b298d Bump webpack from 4.41.6 to 4.42.0
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.6 to 4.42.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.6...v4.42.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-09 08:37:17 +00:00
dependabot-preview[bot]
365e14148a Bump yargs from 15.1.0 to 15.3.0
Bumps [yargs](https://github.com/yargs/yargs) from 15.1.0 to 15.3.0.
- [Release notes](https://github.com/yargs/yargs/releases)
- [Changelog](https://github.com/yargs/yargs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/yargs/compare/v15.1.0...v15.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-09 08:36:16 +00:00
dependabot-preview[bot]
a8dcadbd99 Bump @babel/core from 7.8.6 to 7.8.7
Bumps [@babel/core](https://github.com/babel/babel) from 7.8.6 to 7.8.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.6...v7.8.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-09 08:35:54 +00:00
dependabot-preview[bot]
601023acf4 Bump rollup from 1.32.0 to 1.32.1
Bumps [rollup](https://github.com/rollup/rollup) from 1.32.0 to 1.32.1.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v1.32.0...v1.32.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-09 08:34:28 +00:00
Andreas Hocevar
1d4744b730 Merge pull request #10744 from mike-000/patch-7
Ensure the Modify Features Test example opens at correct zoom
2020-03-08 23:44:43 +01:00
Andreas Hocevar
2d57e795e7 Merge pull request #10767 from mike-000/patch-8
Replace Bing layer with MapTiler in examples
2020-03-08 14:24:20 +01:00
Andreas Hocevar
8c3da1167c Merge pull request #10751 from MoonE/apidoc-sort-events
Sort events / observables in all cases
2020-03-07 23:25:22 +01:00
mike-000
9d0b139432 Ensure example opens at correct zoom
wrapX: false not needed for consistency with OL5
2020-03-05 17:41:33 +00:00
mike-000
408eac2524 Replace Bing layer with MapTiler 2020-03-05 15:27:18 +00:00
mike-000
737c30fedc Replace Bing layer with MapTiler 2020-03-05 15:25:48 +00:00
mike-000
c4d864ed45 Replace Bing layer with MapTiler 2020-03-05 15:21:11 +00:00
mike-000
315db526c9 Replace Bing layer with MapTiler 2020-03-05 15:17:34 +00:00
Tim Schaub
a34b22f1d9 Merge pull request #10763 from jumpinjackie/bug/fix-types
TypeScript: Fix inconsistent optionality in various APIs
2020-03-04 07:41:00 -07:00
Jackie Ng
6d16fe8405 Make arg2 of GeometryFunction also optional as it comes after an optional arg1 2020-03-05 01:01:03 +11:00
Jackie Ng
21fcb4621b Ensure consistent optionality for options.projection for all ImageSource-derived constructor options 2020-03-04 23:38:54 +11:00
Olivier Guyot
29387a2cbb Merge pull request #10758 from jahow/webgl-rotation-fix-attribute
Allow using feature attributes for symbol rotation in WebGL layers
2020-03-03 12:55:25 +01:00
Olivier Guyot
40d44db85e Shader Builder / use vertex context to parse the symbol rotation expression
Previously the expression was parsed in the fragment shader context, which
meant in case the expression used an attributes the resulting GLSL code
would be wrong.

Fragment shader context:
`float angle = v_heading; // we're using the varying: not OK`

Vertex shader context:
`float angle = a_heading; // we're using the attribute: OK`
2020-03-03 10:09:39 +01:00
Frédéric Junod
7a37231a87 Merge pull request #10755 from openlayers/dependabot/npm_and_yarn/rollup-1.32.0
Bump rollup from 1.31.1 to 1.32.0
2020-03-02 14:00:35 +01:00
Frédéric Junod
d2b26e198b Merge pull request #10754 from openlayers/dependabot/npm_and_yarn/babel/preset-env-7.8.6
Bump @babel/preset-env from 7.8.4 to 7.8.6
2020-03-02 14:00:04 +01:00
Frédéric Junod
24b252bb1d Merge pull request #10753 from openlayers/dependabot/npm_and_yarn/mocha-7.1.0
Bump mocha from 7.0.1 to 7.1.0
2020-03-02 13:59:39 +01:00
Frédéric Junod
6384b83cc1 Merge pull request #10752 from openlayers/dependabot/npm_and_yarn/babel/core-7.8.6
Bump @babel/core from 7.8.4 to 7.8.6
2020-03-02 13:59:00 +01:00
dependabot-preview[bot]
88f958286b Bump rollup from 1.31.1 to 1.32.0
Bumps [rollup](https://github.com/rollup/rollup) from 1.31.1 to 1.32.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v1.31.1...v1.32.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 08:45:52 +00:00
dependabot-preview[bot]
f59f4e2d56 Bump @babel/preset-env from 7.8.4 to 7.8.6
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.8.4 to 7.8.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.4...v7.8.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 08:44:52 +00:00
dependabot-preview[bot]
9f6b021000 Bump mocha from 7.0.1 to 7.1.0
Bumps [mocha](https://github.com/mochajs/mocha) from 7.0.1 to 7.1.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v7.0.1...v7.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 08:44:00 +00:00
dependabot-preview[bot]
3014df1677 Bump @babel/core from 7.8.4 to 7.8.6
Bumps [@babel/core](https://github.com/babel/babel) from 7.8.4 to 7.8.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.4...v7.8.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-02 08:42:59 +00:00
Maximilian Krög
1d7d7a7eef Sort events / observables in all cases
Right now this only changes the order of events of the UrlTile class.
2020-03-01 00:25:11 +01:00
Tim Schaub
457e7216b4 Merge pull request #10748 from mike-000/patch-8
Fix "Cannot read property 'anchor' of undefined" in ol/View
2020-02-29 07:18:03 -07:00
mike-000
ce6d7bd55c Fix "Cannot read property 'anchor' of undefined"
replace unnecessary filter with for loop and break
2020-02-29 10:12:48 +00:00
Andreas Hocevar
730a0dbe09 Merge pull request #10746 from MoonE/apidoc-fix-windows-build
Fix building apidoc on windows
2020-02-28 22:47:48 +01:00
mike-000
5ba978311e Fix "Cannot read property 'anchor' of undefined" 2020-02-28 21:47:22 +00:00
Maximilian Krög
d28be3c160 Fix building apidoc on windows 2020-02-28 21:44:06 +01:00
Andreas Hocevar
6370175b28 Merge pull request #10720 from MoonE/apidoc-better-search
Apidoc better search
2020-02-28 14:27:20 +01:00
Maximilian Krög
e484eca1a1 Some more cleanup
No need to sort beforehand and therefore sorting can be done at last too.
Also forEach is just fine, no need for underscore.

This changes the navigation default order for modules to be after classes
when the name is the same.
2020-02-27 23:47:22 +01:00
Maximilian Krög
bc8499472c Current item may be undefined
Worked fine before, but better safe than sorry.
2020-02-27 22:58:07 +01:00
Maximilian Krög
47ed2963c4 Default exported classes have same prettyname as modules 2020-02-27 22:57:55 +01:00
mike-000
203f557883 Ensure example opens at correct zoom
Set multiWorld: true so view opens at zoom 2 on wide displays
Set wrapX false on source
2020-02-27 20:53:58 +00:00
mike-000
b8e34ef5bf rename some variables and add comments 2020-02-27 19:12:40 +00:00
Andreas Hocevar
0fd336daa5 Merge pull request #10743 from ahocevar/ignore-cache-size-when-too-small
Ignore user provided tile cache size when too small
2020-02-27 14:52:33 +01:00
Andreas Hocevar
e235ad0708 Merge pull request #10736 from M393/clustersource-setsource
Allow cluster source to unlisten from its source
2020-02-27 14:00:38 +01:00
Andreas Hocevar
a072e3acea Ignore user provided tile cache size when too small 2020-02-27 13:41:21 +01:00
mike-000
ac2b58c554 test using extra stops for extent transform
correct coordinate order
2020-02-27 12:19:31 +00:00
mike-000
633396e7df test using extra stops for extent transform 2020-02-27 12:12:57 +00:00
Maximilian Kroeg
ba84cfad61 Do requeseted changes 3/3 2020-02-27 10:28:26 +01:00
Maximilian Kroeg
f18b78d2da Do requested changes 2/3 to cluster source 2020-02-27 10:01:20 +01:00
Andreas Hocevar
df1d0ac4a0 Merge pull request #10739 from ahocevar/timeout-typo
Fix typo in trackpad timeout
2020-02-27 07:49:09 +01:00
Tim Schaub
a651667f24 Merge pull request #10740 from matthias-ccri/tabindex
Document tabindex behavior for MouseWheelZoom and DragPan
2020-02-26 22:45:00 -07:00
Matthias
b695320dcf Update DragPan.js 2020-02-26 20:37:51 -05:00
Matthias
10a624db3c Update MouseWheelZoom.js 2020-02-26 20:36:07 -05:00
mike-000
591e5ce01b More validation. Handle voids in some projections.
Handle NaN latitude transform results at void centers of some projections (e.g. Pole LAEA).
Clamp latitudes to not go beyond the poles when calculating intervals.
Further improve polar projections by checking if extent contains max and min intersection coordinates when calculating max and min.
2020-02-26 22:17:49 +00:00
Andreas Hocevar
e9227a9bc1 Fix typo in trackpad timeout 2020-02-26 19:27:20 +01:00
Andreas Hocevar
59f14eaa2e Merge pull request #10738 from ahocevar/textbackground-declutter
Fix text background decluttering
2020-02-26 14:47:25 +01:00
Andreas Hocevar
a03cfa35ed Store copies of background points for decluttering 2020-02-26 13:30:00 +01:00
mike-000
adcf57ef20 Better validation to handle polar projections
For some projections (e.g. polar) the maximum or minimum values may be at the center.
To improve the display for polar projections take validated center values into account when calculating max and min.
2020-02-25 13:47:02 +00:00
Maximilian Kroeg
b25fc6741e Add tests for ol/source/Cluster~Cluster#setSource 2020-02-25 11:15:56 +01:00
Maximilian Kroeg
01b3f9a97b Allow cluster source to unlisten from its source
This adds a setSource method to change or remove the cluster source's source.
2020-02-25 10:33:02 +01:00
mike-000
9039e2629b fix trailing space 2020-02-24 21:57:22 +00:00
mike-000
737f3a5066 Handle view projections crossing dateline
Use custom toLonLat transform to return wrapped longitudes for extents if view projection crosses the dateline.
Enhance the validation for center and extents to avoid proj4 errors.
2020-02-24 21:53:53 +00:00
Andreas Hocevar
e02ede8f76 Merge pull request #10725 from openlayers/dependabot/npm_and_yarn/elm-pep-1.0.6
Bump elm-pep from 1.0.4 to 1.0.6
2020-02-24 11:45:51 +01:00
Frédéric Junod
58ef1ab166 Merge pull request #10726 from openlayers/dependabot/npm_and_yarn/sinon-9.0.0
Bump sinon from 8.1.1 to 9.0.0
2020-02-24 09:17:30 +01:00
dependabot-preview[bot]
89b5adc601 Bump sinon from 8.1.1 to 9.0.0
Bumps [sinon](https://github.com/sinonjs/sinon) from 8.1.1 to 9.0.0.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v8.1.1...v9.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-24 08:07:24 +00:00
dependabot-preview[bot]
c987b1f1b0 Bump elm-pep from 1.0.4 to 1.0.6
Bumps [elm-pep](https://github.com/ahocevar/elm-pep) from 1.0.4 to 1.0.6.
- [Release notes](https://github.com/ahocevar/elm-pep/releases)
- [Commits](https://github.com/ahocevar/elm-pep/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-24 08:06:23 +00:00
mike-000
6ae6d0b835 Optional extra stops to refine extent transforms
Add optional extra stops to refine some non-parallel transforms

Refine extent transforms use by Gratucule by using 32 points (8 per side) instead of the standard corners only transform
Update Graticule class description with current limitations

Correct projection extent in Mollweide example and revise opening zoom level correspondingly
2020-02-23 19:13:06 +00:00
Maximilian Krög
c2505f938e Remove measuring code 2020-02-22 14:30:44 +01:00
Maximilian Krög
6b9a35b7b9 Always sort top level matches before member matches 2020-02-22 14:30:25 +01:00
Maximilian Krög
df8c0f3e6f Avoid deprecated jquery :eq selector 2020-02-22 01:07:43 +01:00
Maximilian Krög
bf2a7bd21a Allow toggel on whole title, add toggle transition 2020-02-22 01:07:41 +01:00
Maximilian Krög
ee8ec6f03a Shorter css paths in navigation 2020-02-21 22:58:05 +01:00
Maximilian Krög
b46b250d75 On toggle when searching show unfiltered instead of hiding all 2020-02-21 22:58:05 +01:00
Maximilian Krög
2dec296aae Use css to show / hide items; track matched items
... to improve search speed.

Instead of marking all items as hidden, and then marking the matched
ones again, this keeps track of all matched items and only
removes those that no longer match and adds those that previously did
not match.
2020-02-21 22:57:53 +01:00
Maximilian Krög
646ecfd405 Weight function prefer classes over modules 2020-02-21 22:56:54 +01:00
Maximilian Krög
99d9a9ff86 Use strict mode 2020-02-21 22:56:54 +01:00
Maximilian Krög
15beb1f2c6 Put more weight on the base name 2020-02-21 22:56:53 +01:00
Maximilian Krög
b613e8e77f Fix regex dot escape 2020-02-21 22:56:53 +01:00
Maximilian Krög
ccafb4b91d Improved weight function.
++++ Full match from start to end
+++  Full match between word boundaries
++   Begin matches at word boundary, multiple matches are better
+    Matches somewhere

Classes with (multiple) members matching at the beginning are
weighted higher.
2020-02-21 22:56:51 +01:00
Maximilian Krög
1b4ed08bc5 Indent line-wrapped class names 2020-02-21 22:55:32 +01:00
Maximilian Krög
cc561dab8e Allow word wrap before '.' and '~' in class names 2020-02-21 22:55:32 +01:00
Maximilian Krög
8b857eed26 Change prettyname of classes
Now also includes the class name if it is different than its module name.
`ol/source/Vector` -> `ol/source/Vector~VectorSource`.
2020-02-21 22:55:32 +01:00
Maximilian Krög
7640bcd163 Only match the displayed name of items when searching
Currently the search term is matched against the longname of members.
Because of this most members are matched when searching for a
class / module and also searching for 'mod' matches everything as
all longnames start with 'module:'
2020-02-21 22:55:32 +01:00
Maximilian Krög
d3b9b25429 Search if the search input is not empty after page loads
Firefox remembers input on the same page if a normal reload is performed.
In this case the results for the search term should be shown automatically.
2020-02-21 22:55:32 +01:00
Maximilian Krög
f7871d6103 Store search data in lowercase and compare in lowercase
This way we can do the search case-sensitive after only converting
the search term to lowercase.
2020-02-21 22:55:32 +01:00
Maximilian Krög
b9455bfad9 Remove unnecessary / duplicate code. 2020-02-21 22:55:31 +01:00
Maximilian Krög
2b8582fcad Catch errors when search term is an invalid regular expression
On error search escape special characters, with only '.' matching
any characters.
2020-02-21 22:50:57 +01:00
Maximilian Krög
d56513b722 Add code to measure search function speed 2020-02-21 22:50:57 +01:00
Maximilian Krög
99ecce2a87 Provide the searchTerm as argument to doSearch function 2020-02-21 22:50:57 +01:00
Maximilian Krög
b919074aa3 Skip searches when typing fast / slow cpu. 2020-02-21 22:50:57 +01:00
Maximilian Krög
6187118166 Hide member-lists, show current item when clearing input 2020-02-21 22:50:57 +01:00
Maximilian Krög
f5a996a64e Highlight current anchor with css instead of js.
The `:target` selector is supported by all browsers.
2020-02-21 22:50:57 +01:00
Andreas Hocevar
05d3386995 Merge pull request #10715 from mike-000/patch-8
Fix disappearing graticule labels when rotation returns to 0
2020-02-20 21:21:17 +01:00
mike-000
e731574e06 Fix disappearing labels when rotation returns to 0 2020-02-20 17:49:05 +00:00
Andreas Hocevar
c20e5bf58a Merge pull request #10713 from mike-000/patch-7
Draw graticule labels in a postrender function
2020-02-20 17:10:08 +01:00
mike-000
59142f800c Draw labels in a postrender function 2020-02-20 15:50:10 +00:00
mike-000
bc2c49165e Draw labels in a postrender function 2020-02-20 15:39:08 +00:00
mike-000
00275f1a67 Draw labels in a postrender function 2020-02-20 15:25:32 +00:00
mike-000
3558dbe235 Draw labels in a postrender function 2020-02-20 14:43:48 +00:00
mike-000
a74d33dafb Draw labels in a postrender function 2020-02-20 14:12:37 +00:00
mike-000
c28793ae04 Draw labels in a postrender function
Position labels relative to the viewport when view is rotated
2020-02-20 13:31:41 +00:00
Andreas Hocevar
4a11bcccbb Merge pull request #10711 from ahocevar/optional-args
Make sure that optional args are typed accordingly
2020-02-20 12:50:48 +01:00
Andreas Hocevar
608d515f1f Make sure that optional args are typed accordingly 2020-02-20 12:39:31 +01:00
Andreas Hocevar
ef63644211 Merge pull request #10710 from ahocevar/fix-stylefunction-type
Fix stylefunction return type
2020-02-20 12:35:52 +01:00
Andreas Hocevar
6b9791eeed Fix stylefunction return type 2020-02-20 11:47:42 +01:00
Andreas Hocevar
d6eb66f083 Merge pull request #10709 from ahocevar/stylefunction-type
Fix type and documentation of style function
2020-02-20 11:25:43 +01:00
Andreas Hocevar
13713bab51 Fix type and documentation of style function 2020-02-20 11:09:12 +01:00
Andreas Hocevar
74d26f04fa Merge pull request #10708 from ahocevar/falsey-select-style
Handle Select interactions with falsey select style
2020-02-20 08:46:44 +01:00
Tim Schaub
f154a854c3 Merge pull request #10707 from AugustusKling/circle-ci-test
Get default projection for overview map from main map.
2020-02-19 19:38:25 -07:00
Andreas Hocevar
c73034fe7d Handle Select interactions with falsey select style 2020-02-20 00:36:33 +01:00
Augustus Kling
da7f51c085 Get default projection for overview map from main map.
Changes OverviewMap such that it will use whatever projection the
hosting map is using unless a view was specified explicitly.

Fixes #2998 #5188 #10670
2020-02-19 23:10:15 +01:00
Andreas Hocevar
3a92a8091a Merge pull request #10699 from ahocevar/select
Make Select interaction work when there are multiple instances
2020-02-19 15:33:00 +01:00
Tim Schaub
d7aa47eedc Merge pull request #10694 from M393/image-opacity
Draw image with configured opacity
2020-02-19 06:59:33 -07:00
Andreas Hocevar
cac903c837 Merge pull request #10703 from ahocevar/tests
CI and test fixes
2020-02-19 14:55:31 +01:00
Andreas Hocevar
bdeab6ab49 Update coverage reporter 2020-02-19 14:23:29 +01:00
Andreas Hocevar
2c213f805c Try a different cicleci image 2020-02-19 14:23:06 +01:00
Andreas Hocevar
502bb8a169 Merge pull request #10698 from ahocevar/shadow-root
Shadow root
2020-02-19 13:45:45 +01:00
Andreas Hocevar
f98f66c529 Make Select interaction work when there are multiple instances 2020-02-19 11:52:12 +01:00
Andreas Hocevar
575ef48b3a Merge pull request #10688 from ahocevar/generate-d-ts
Publish type definition files
2020-02-19 10:57:31 +01:00
Andreas Hocevar
7fa4b2cb24 Publish type definition files 2020-02-19 10:42:54 +01:00
Tim Schaub
341e482f30 Add rendering test for image style opacity 2020-02-18 18:31:57 -07:00
Andreas Hocevar
7fee85734a Add custom element example 2020-02-18 21:32:31 +01:00
Andreas Hocevar
b6abe036ce Make events work in shadow dom 2020-02-18 21:32:09 +01:00
Maximilian Krög
6f18350eda Add regression test for image opacity 2020-02-18 16:30:38 +01:00
Maximilian Krög
ab9d7cdc70 Draw image with configured opacity 2020-02-18 14:09:36 +01:00
Andreas Hocevar
5ea0b52ba8 Merge pull request #10691 from ahocevar/hitdetect-color-range
Do not exceed color range
2020-02-18 10:04:00 +01:00
Frédéric Junod
1481ec7d85 Merge pull request #10683 from fredj/fs_events
Dispatch enterfullscreen and leavefullscreen from the FullScreen control
2020-02-18 08:26:44 +01:00
Tim Schaub
7c394c6a1b Merge pull request #10676 from mike-000/patch-6
Document that overviewmap view must use same projection as main map
2020-02-17 20:17:22 -07:00
Andreas Hocevar
07b02fe947 Do not exceed color range 2020-02-17 21:58:45 +01:00
Andreas Hocevar
8f9552e78c Merge pull request #10678 from mike-000/patch-7
Add maxResolution option to ol/tilegrid.createXYZ() and ol/source/XYZ
2020-02-17 19:54:55 +01:00
mike-000
1416e30127 Add maxResolution option to createXYZ()
include maxResolution in options test
2020-02-17 18:20:50 +00:00
Andreas Hocevar
d5f249f0ef Merge pull request #10690 from mike-000/patch-8
Document minZoom and maxZoom options for all layers
2020-02-17 18:29:21 +01:00
Andreas Hocevar
eebb2cb9ae Merge pull request #10672 from ahocevar/mousewheel
Nicer mousewheel and trackpad zooming
2020-02-17 18:27:03 +01:00
mike-000
fa4fcf3886 add minZoom and maxZoom options 2020-02-17 16:59:40 +00:00
mike-000
4cf093ab75 add minZoom and maxZoom options 2020-02-17 16:58:46 +00:00
mike-000
c5885cc649 add minZoom and maxZoom options 2020-02-17 16:57:00 +00:00
mike-000
d0e439ee80 add minZoom and maxZoom options 2020-02-17 16:55:15 +00:00
mike-000
edb94af314 add minZoom and maxZoom options 2020-02-17 16:53:57 +00:00
mike-000
501546bc44 add minZoom and maxZoom options 2020-02-17 16:52:59 +00:00
mike-000
d102f561f9 add minZoom and maxZoom options 2020-02-17 16:52:12 +00:00
mike-000
265eb5421d add minZoom and maxZoom options 2020-02-17 16:51:08 +00:00
mike-000
fbaa4da153 add minZoom and maxZoom options 2020-02-17 16:49:47 +00:00
mike-000
3dc4e546bf add minZoom and maxZoom options 2020-02-17 16:47:55 +00:00
Frédéric Junod
3df7c4a1da Merge pull request #10687 from fredj/win_failing_img_test
Increase timeout in listenImage test
2020-02-17 15:42:03 +01:00
Frederic Junod
09689e547c Increase timeout in listenImage test
Fixes failing test with Chrome 80 on Windows 10
2020-02-17 13:27:23 +01:00
Olivier Guyot
bf38796ec7 Merge pull request #10684 from jellyedwards/master
perf: only do expensive reload when texture changes
2020-02-17 13:26:46 +01:00
Frédéric Junod
e81721cada Merge pull request #10680 from openlayers/dependabot/npm_and_yarn/terser-webpack-plugin-2.3.5
Bump terser-webpack-plugin from 2.3.4 to 2.3.5
2020-02-17 13:08:49 +01:00
Frédéric Junod
c4231a25e3 Merge pull request #10682 from openlayers/dependabot/npm_and_yarn/webpack-4.41.6
Bump webpack from 4.41.5 to 4.41.6
2020-02-17 11:31:37 +01:00
dependabot-preview[bot]
058d1c2e51 Bump webpack from 4.41.5 to 4.41.6
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.5 to 4.41.6.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.5...v4.41.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 09:54:23 +00:00
Frédéric Junod
4b508185b3 Merge pull request #10681 from openlayers/dependabot/npm_and_yarn/webpack-cli-3.3.11
Bump webpack-cli from 3.3.10 to 3.3.11
2020-02-17 10:52:17 +01:00
Frédéric Junod
14e22e6bc9 Merge pull request #10679 from openlayers/dependabot/npm_and_yarn/rollup-1.31.1
Bump rollup from 1.31.0 to 1.31.1
2020-02-17 10:51:53 +01:00
Frederic Junod
9a03ca8417 Dispatch enterfullscreen and leavefullscreen from the FullScreen control 2020-02-17 10:48:29 +01:00
dependabot-preview[bot]
5b7d2d15e9 Bump webpack-cli from 3.3.10 to 3.3.11
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.10 to 3.3.11.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/next/CHANGELOG_v3.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.10...v3.3.11)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 08:05:05 +00:00
dependabot-preview[bot]
88fbdff322 Bump terser-webpack-plugin from 2.3.4 to 2.3.5
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 2.3.4 to 2.3.5.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v2.3.4...v2.3.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 08:03:59 +00:00
dependabot-preview[bot]
533b38a3c1 Bump rollup from 1.31.0 to 1.31.1
Bumps [rollup](https://github.com/rollup/rollup) from 1.31.0 to 1.31.1.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v1.31.0...v1.31.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-17 08:03:25 +00:00
mike-000
2e1e0dba54 document that views must use same projection 2020-02-16 11:11:37 +00:00
Andreas Hocevar
d93073f8d0 No trackpad mode for constrained resolutions 2020-02-16 10:05:32 +01:00
Andreas Hocevar
5150378983 Improve trackpad rebound behavior 2020-02-16 09:08:27 +01:00
Andreas Hocevar
a6c195e528 Merge pull request #10675 from jipexu/patch-1
typo
2020-02-16 07:51:59 +01:00
jipexu
bed2b6e222 typo 2020-02-15 22:10:41 +01:00
Andreas Hocevar
f3ce8e23b4 Fractional zoom changes in WHEEL mode 2020-02-15 13:53:14 +01:00
Andreas Hocevar
804c307fa9 Merge pull request #10669 from mike-000/patch-6
More browser compatible Export Map example
2020-02-14 22:41:08 +01:00
mike-000
f48a1a5f26 remove overlay and html-to-image 2020-02-14 19:49:17 +00:00
Andreas Hocevar
2c7c639f4b Merge pull request #10667 from ahocevar/label-linedash
Do not render label with the current linedash
2020-02-14 14:31:43 +01:00
Andreas Hocevar
0471b6e650 Do not render label with the current linedash 2020-02-14 13:50:03 +01:00
Andreas Hocevar
003e415382 Merge pull request #10666 from mike-000/patch-6
Load polyfill before example specific scripts in examples template
2020-02-14 13:34:15 +01:00
mike-000
16e46ea2c0 load polyfill before example specific scripts 2020-02-14 12:15:52 +00:00
John Leonard
8fe71bbbff perf: only do expensive reload when texture changes 2020-02-14 11:39:54 +00:00
Andreas Hocevar
ea5c91e19e Revert "Merge pull request #9565 from dbrnz/v6.0.0-beta.7-branch"
This reverts commit 35569a8427, reversing
changes made to 29a434314b.
2020-02-14 11:46:57 +01:00
Frédéric Junod
cc86719388 Merge pull request #6526 from tchandelle/draw-abort
Draw interaction: add abortDrawing method and drawabort event
2020-02-14 09:05:22 +01:00
Andreas Hocevar
0e9b43ed93 Merge pull request #10657 from openlayers/release-v6.2.1
Changelog for v6.2.1
2020-02-13 21:11:49 +01:00
Andreas Hocevar
9c21bda88e Develop on 6.2.2 2020-02-13 21:04:45 +01:00
Andreas Hocevar
c914ac2a64 Changelog for v6.2.1 2020-02-13 20:52:10 +01:00
Andreas Hocevar
643552f13f Merge pull request #10656 from mike-000/patch-6
Fix for export PDF example compatibility issues, and layer opacity handling.
2020-02-13 20:06:44 +01:00
mike-000
0b893f11d3 Fix IE compatibility. Add opacity handling.
querySelectorAll().forEach() isn't supported by IE.
Add opacity to the vector layer and handle it in the output.
2020-02-13 18:13:07 +00:00
mike-000
f302b5883e Update jspdf version 2020-02-13 18:06:02 +00:00
Thomas Chandelle
33a8466913 Add API method abortDrawing and dispatch a DRAWABORT event 2020-02-13 17:22:39 +01:00
Andreas Hocevar
8750cb0b1a Merge pull request #10653 from ahocevar/apidoc-nav
More reliable check for module content beyond classes
2020-02-13 14:30:26 +01:00
Andreas Hocevar
32238806a6 Merge pull request #10617 from MoonE/apidoc-performance
Improve apidoc generation performance
2020-02-13 11:03:02 +01:00
Andreas Hocevar
4e1ca0a986 More reliable check for module content beyond classes 2020-02-13 10:41:52 +01:00
Andreas Hocevar
8b6d5eb5c8 Merge pull request #10625 from MoonE/apidoc-cleanup-navigation
Apidoc cleanup navigation html
2020-02-13 10:04:36 +01:00
Andreas Hocevar
1d5f9ae369 Merge pull request #10649 from ahocevar/remove-circular-dependency
Remove circular dependency
2020-02-13 08:35:58 +01:00
mike-000
7a77793d69 Write fill and outline in PolyStyle
Write styles based on style objects appropriate for geometry.
Write fill and outline in PolyStyle if false (i.e. non-default)
Handle MultiLineString, MultiPoint and MultiPolygon within heterogenous MultiGeometry when writing features

Add getGeometriesArrayRecursive method to ol/geom/GeometryCollection to allow for nested MultiGeometry

Enhanced write GeometryCollection geometries test

A more rigorous write GeometryCollection geometries test including nested collections (the output is simplified to a single MultiGeomtry)

Add writeFeatures to outline and fill tests, setting geometry for geometry specific tests

Add <fill>0</fill> and <outline>0</outline> to some existing tests
2020-02-12 21:18:57 +00:00
Andreas Hocevar
262373a4b5 Remove circular dependency 2020-02-12 20:31:18 +01:00
Andreas Hocevar
8742d8fbc7 Merge pull request #10637 from openlayers/dev-6.2.1
Develop on 6.2.1
2020-02-11 16:41:47 +01:00
Andreas Hocevar
af18045fc8 Develop on 6.2.1 2020-02-11 16:29:51 +01:00
Andreas Hocevar
1d0f0f5205 Merge pull request #10636 from openlayers/release-v6.2.0
Release v6.2.0
2020-02-11 16:23:07 +01:00
Andreas Hocevar
edec77dafc Update package version to 6.2.0 2020-02-11 15:43:03 +01:00
Andreas Hocevar
ff6eb89b06 Changelog for v6.2.0 2020-02-11 15:43:03 +01:00
Andreas Hocevar
bb68da2a0a Merge pull request #10613 from mike-000/patch-1
Show KML name labels for Points in MultiGeometry
2020-02-11 15:08:51 +01:00
Olivier Guyot
d5c72f62d5 Merge pull request #10632 from jahow/draw-interaction-append-coords
Draw interaction: Append coordinates to polygons and lines (reworked)
2020-02-11 13:46:01 +01:00
Olivier Guyot
8d4c3b2887 Draw / clearer variable names 2020-02-11 11:19:55 +01:00
Olivier Guyot
6641832621 Improvements to the tracing example
* no embedded geojson
* better behaviour on draw end (no lingering preview line)
* clearer comments
* support for multi polygons to snap to
2020-02-11 11:03:38 +01:00
Andreas Hocevar
fe8f7c04ad Merge pull request #10629 from openlayers/dependabot/npm_and_yarn/ol-mapbox-style-6.0.1
Bump ol-mapbox-style from 6.0.0 to 6.0.1
2020-02-10 22:41:55 +01:00
Andreas Hocevar
07c2b360ce Merge pull request #10628 from openlayers/dependabot/npm_and_yarn/puppeteer-2.1.1
Bump puppeteer from 2.1.0 to 2.1.1
2020-02-10 22:40:23 +01:00
Andreas Hocevar
2ccd9bf6b9 Merge pull request #10627 from openlayers/dependabot/npm_and_yarn/handlebars-4.7.3
Bump handlebars from 4.7.2 to 4.7.3
2020-02-10 22:39:22 +01:00
Andreas Hocevar
0b70a7e165 Merge pull request #10626 from openlayers/dependabot/npm_and_yarn/webpack-dev-server-3.10.3
Bump webpack-dev-server from 3.10.2 to 3.10.3
2020-02-10 22:38:33 +01:00
Olivier Guyot
3c5d0f223e Draw / fix map object in addToDrawing method 2020-02-10 16:55:35 +01:00
Olivier Guyot
8722d16158 Rewrite the example showcasing DrawInteraction#appendCoordinates
The example is now focused on showing how a kind of "tracing" mode
can be achieved using the Draw interaction, making it easier
for the user to snap to an existing geometry while preserving
topology.
2020-02-10 16:48:12 +01:00
Otto Pellinen
02597229e3 Cleanup comments 2020-02-10 16:48:12 +01:00
Otto Pellinen
5ff681563f Update examples to demonstrate typical use case 2020-02-10 16:48:12 +01:00
Otto Pellinen
0b3bd0721e Add dedicated tests for appendCoordinates 2020-02-10 16:48:12 +01:00
Otto Pellinen
bc79d59811 Use private function addToDrawing_ in appendCoordinates 2020-02-10 16:48:12 +01:00
Otto Pellinen
f43bc8d122 Fix comment for appendCoordinates 2020-02-10 16:48:12 +01:00
Otto Pellinen
175695f877 Update function descriptions for clarity 2020-02-10 16:48:12 +01:00
Otto Pellinen
934ad5b882 Rename example files 2020-02-10 16:48:12 +01:00
Otto Pellinen
83c0a258e6 Separate appendCoordinates function from extend 2020-02-10 16:48:12 +01:00
Otto Pellinen
25a5e83910 Fix eslint errors 2020-02-10 16:48:12 +01:00
Otto Pellinen
00261dff54 Add example for using the Draw extend function 2020-02-10 16:48:12 +01:00
Otto Pellinen
12ce4cc82a Add support for extending linear coordinates when drawing Polygons 2020-02-10 16:48:12 +01:00
dependabot-preview[bot]
15800da498 Bump ol-mapbox-style from 6.0.0 to 6.0.1
Bumps [ol-mapbox-style](https://github.com/openlayers/ol-mapbox-style) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/openlayers/ol-mapbox-style/releases)
- [Changelog](https://github.com/openlayers/ol-mapbox-style/blob/master/CHANGELOG.md)
- [Commits](https://github.com/openlayers/ol-mapbox-style/compare/v6.0.0...v6.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-10 08:03:25 +00:00
dependabot-preview[bot]
acb8008644 Bump puppeteer from 2.1.0 to 2.1.1
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Commits](https://github.com/puppeteer/puppeteer/compare/v2.1.0...v2.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-10 08:02:33 +00:00
dependabot-preview[bot]
34fe288c6b Bump handlebars from 4.7.2 to 4.7.3
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.7.2 to 4.7.3.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.7.2...v4.7.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-10 08:02:01 +00:00
dependabot-preview[bot]
b90ca8b521 Bump webpack-dev-server from 3.10.2 to 3.10.3
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.10.2 to 3.10.3.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.10.2...v3.10.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-10 08:01:14 +00:00
Maximilian Krög
300cc282e4 Generate valid html for the apidoc navigation
Only `<li>` can be a direct descendant of `<ul>` tags.
2020-02-10 00:10:05 +01:00
Maximilian Krög
5d922fc53b Cleanup navigation.tmpl and the generated html
- Add a function that is used to generate all four types of member lists.
- Only use one line per list item.
- Don't generate empty `class=""` attributes when item is stable.
- Remove closing `</li>` tag, as is allowed by the html 5 standard.

Overall this reduces the filesize for the generated html pages by ~33%.
2020-02-10 00:09:33 +01:00
Maximilian Krög
0057144b52 Add apidoc-debug task to debug the apidoc generation process 2020-02-07 00:25:04 +01:00
Maximilian Krög
c0f058f5cf Variable should be reset on each loop but wasn't
The ancestors variable is always set once the first augmented doclet is found.
The incompleteDoclet variable is also not reset between loops.
2020-02-07 00:08:14 +01:00
Maximilian Krög
2e4f989d7b Store api members as object map instead of array. 2020-02-07 00:08:14 +01:00
Maximilian Krög
0c04293d5f Generate navigation html only once for all pages.
This reduces the time for apidoc generation by ~30%.
2020-02-07 00:08:07 +01:00
Andreas Hocevar
35569a8427 Merge pull request #9565 from dbrnz/v6.0.0-beta.7-branch
Make mousewheel zoom behave like trackpad zoom.
2020-02-06 15:54:34 +01:00
mike-000
47a4a63e3e Test name labels for points in MultiGeometry 2020-02-05 23:51:48 +00:00
mike-000
0fb4b62b9b Test name labels for points in MultiGeometry 2020-02-05 23:26:11 +00:00
mike-000
4ce3b3fed1 Show name labels for points in MultiGeometry 2020-02-05 23:18:54 +00:00
Andreas Hocevar
29a434314b Merge pull request #10580 from mike-000/patch-7
Fix KML Polystyle outline 0 conflict with Linestyle for linestrings
2020-02-05 23:22:52 +01:00
Andreas Hocevar
c320b15177 Merge pull request #10612 from ahocevar/ie11
Make examples work in Internet Explorer
2020-02-05 22:35:30 +01:00
mike-000
319b64ed65 Fix for #10611 2020-02-05 20:17:18 +00:00
Andreas Hocevar
65c1575dc9 Make examples work in Internet Explorer 2020-02-05 20:16:14 +01:00
Andreas Hocevar
cc21f92bdb Restore test coverage, fix tests 2020-02-05 13:03:21 +01:00
Andreas Hocevar
c8e340a623 Rename variables now that trackpads are not special any more 2020-02-05 12:58:21 +01:00
David Brooks
03fcf1ca70 Get all mouse wheel tests passing (#9564). 2020-02-05 11:27:10 +01:00
David Brooks
77658e5750 Ensure changes to zoom wheel handling pass tests. 2020-02-05 11:24:48 +01:00
David Brooks
54bae0168f Handle mouse wheel zoom events as if they've come from a trackpad. 2020-02-05 11:21:44 +01:00
Andreas Hocevar
97246daf66 Merge pull request #10587 from jeremy-smith-maco/larger-resolution-constraint
Adds option to View for using larger resolution value when clamping #10586
2020-02-05 11:10:43 +01:00
Jeremy Smith
3082972cce Updates the option to be called showFullExtent 2020-02-05 16:46:45 +10:00
Andreas Hocevar
9eb860f08c Merge pull request #10607 from ahocevar/elm-pep
Update elm-pep to fix builds for IE < 11
2020-02-04 09:03:53 +01:00
Frédéric Junod
062d043e6e Merge pull request #10600 from openlayers/dependabot/npm_and_yarn/puppeteer-2.1.0
Bump puppeteer from 2.0.0 to 2.1.0
2020-02-04 08:47:28 +01:00
Andreas Hocevar
e727a3fe23 Update elm-pep to fix builds for IE < 11 2020-02-04 08:11:29 +01:00
Andreas Hocevar
fe3603dee6 Merge pull request #10598 from ahocevar/refresh-no-inheritdoc
Remove inheritDoc to work around JSDoc issue
2020-02-03 22:32:52 +01:00
Frédéric Junod
2eb0072e8c Merge pull request #10606 from openlayers/dependabot/npm_and_yarn/babel/core-7.8.4
Bump @babel/core from 7.8.3 to 7.8.4
2020-02-03 09:42:55 +01:00
Frédéric Junod
bba2989859 Merge pull request #10605 from openlayers/dependabot/npm_and_yarn/webpack-dev-server-3.10.2
Bump webpack-dev-server from 3.10.1 to 3.10.2
2020-02-03 09:42:20 +01:00
Frédéric Junod
f63c02a57b Merge pull request #10604 from openlayers/dependabot/npm_and_yarn/rollup-1.31.0
Bump rollup from 1.29.1 to 1.31.0
2020-02-03 09:41:03 +01:00
Frédéric Junod
92a0558cf2 Merge pull request #10603 from openlayers/dependabot/npm_and_yarn/babel/preset-env-7.8.4
Bump @babel/preset-env from 7.8.3 to 7.8.4
2020-02-03 09:40:43 +01:00
Frederic Junod
a4915d0ef6 Update expected image for layer-vectortile-rotate-hidpi rendering test 2020-02-03 09:40:05 +01:00
Frédéric Junod
66d9c92f7d Merge pull request #10602 from openlayers/dependabot/npm_and_yarn/url-polyfill-1.1.8
Bump url-polyfill from 1.1.7 to 1.1.8
2020-02-03 09:39:15 +01:00
Frédéric Junod
511d8e8795 Merge pull request #10601 from openlayers/dependabot/npm_and_yarn/terser-webpack-plugin-2.3.4
Bump terser-webpack-plugin from 2.3.2 to 2.3.4
2020-02-03 09:38:47 +01:00
dependabot-preview[bot]
6a5a1f7a72 Bump @babel/core from 7.8.3 to 7.8.4
Bumps [@babel/core](https://github.com/babel/babel) from 7.8.3 to 7.8.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.3...v7.8.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 08:19:24 +00:00
dependabot-preview[bot]
c2bfe76ee5 Bump webpack-dev-server from 3.10.1 to 3.10.2
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.10.1 to 3.10.2.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.10.1...v3.10.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 08:18:51 +00:00
dependabot-preview[bot]
cf0b8af356 Bump rollup from 1.29.1 to 1.31.0
Bumps [rollup](https://github.com/rollup/rollup) from 1.29.1 to 1.31.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v1.29.1...v1.31.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 08:17:49 +00:00
dependabot-preview[bot]
1e08750398 Bump @babel/preset-env from 7.8.3 to 7.8.4
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.8.3 to 7.8.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.3...v7.8.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 08:17:08 +00:00
dependabot-preview[bot]
f4ef2e15db Bump url-polyfill from 1.1.7 to 1.1.8
Bumps [url-polyfill](https://github.com/lifaon74/url-polyfill) from 1.1.7 to 1.1.8.
- [Release notes](https://github.com/lifaon74/url-polyfill/releases)
- [Commits](https://github.com/lifaon74/url-polyfill/compare/1.1.7...1.1.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 08:15:52 +00:00
dependabot-preview[bot]
cd3a205803 Bump terser-webpack-plugin from 2.3.2 to 2.3.4
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 2.3.2 to 2.3.4.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v2.3.2...v2.3.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 08:14:59 +00:00
dependabot-preview[bot]
564af3e4d5 Bump puppeteer from 2.0.0 to 2.1.0
Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Commits](https://github.com/puppeteer/puppeteer/compare/v2.0.0...v2.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-03 08:14:11 +00:00
mike-000
3c2dfb511a Fix Polystyle outline 0 conflict with Linestyle
Return separate style objects for polygon geometries (including multipolygon and polygons in geometry collections) and other geometries if Polystyle outline is defined as 0
Rearrange code to reduce cloning of styles in createNameStyleFunction

Update Polystyle outline 0 tests
Check for separate style objects applying to LineString and Polygon geometries
Test LineString and Polygon geometries in a collection
2020-02-02 11:28:07 +00:00
Andreas Hocevar
f91ce5692f Remove apidoc annotation to show refresh for ol/source/Cluster 2020-02-01 21:44:10 +01:00
Andreas Hocevar
38abbcbdd6 Remove inheritDoc to work around JSDoc issue 2020-02-01 19:06:37 +01:00
Andreas Hocevar
902f3c2fba Merge pull request #10574 from ahocevar/text-background
Text rendering improvements
2020-01-30 15:57:04 +01:00
Andreas Hocevar
7266f37f85 Remove unused export and variable 2020-01-30 14:56:11 +01:00
Andreas Hocevar
93897d92d5 Merge pull request #10591 from ahocevar/sphere-license
Remove obsolete license notice
2020-01-30 14:03:57 +01:00
Andreas Hocevar
81d14fb636 Remove obsolete license notice 2020-01-30 10:47:53 +01:00
Andreas Hocevar
542b77eef8 Save and restore before rendering labels 2020-01-30 09:14:03 +01:00
Andreas Hocevar
a24c94487c Cache label instructions for better performance 2020-01-30 09:14:02 +01:00
Andreas Hocevar
d87f7b7d35 Merge pull request #10588 from ahocevar/apidoc
Sort doc navigation properly and add missing modules
2020-01-30 08:15:41 +01:00
Jeremy Smith
001cb98990 Updated test to use renamed option 2020-01-30 08:03:02 +10:00
Jeremy Smith
7805768942 Renamed option to constrainOneAxis 2020-01-30 07:40:28 +10:00
Andreas Hocevar
f8f7f83be7 Do not expose static render function of controls 2020-01-29 20:21:08 +01:00
Tim Schaub
af307eb606 Merge pull request #10581 from DanielRuf/ci/use-package-lock-checksum
Use package-lock.json for the checksum calculation
2020-01-29 07:35:51 -08:00
Andreas Hocevar
e3f9e250ab Sort doc navigation properly and add missing modules 2020-01-29 14:04:52 +01:00
Andreas Hocevar
c373a3eafd Merge pull request #10584 from MrSoUndso/dev
fixed issue with version throwing an error if it is null
2020-01-29 12:06:48 +01:00
Jeremy Smith
4151e86c0a Adds option to View for using larger resolution value when clamping 2020-01-29 15:35:48 +10:00
Jakob Gerstmayer
153bd7f5d1 fixed spacing after if 2020-01-28 17:48:45 +01:00
Jakob Gerstmayer
902bdbabdc fixed issue with version throwing an error if it is null 2020-01-28 17:39:21 +01:00
Daniel Ruf
02b1ab71f1 Use package-lock.json for the checksum calculation - closes #10069 2020-01-28 11:13:50 +01:00
Andreas Hocevar
2652c1a30d Merge pull request #10575 from mike-000/patch-8
Fix ol/layer/Graticule rendercomplete problem
2020-01-27 16:46:44 +01:00
Andreas Hocevar
29ea779f66 Merge pull request #10562 from crubier/master
Zoomify: Separate the service pixel ratio and the device pixel ratio
2020-01-27 15:46:11 +01:00
Frédéric Junod
9cf8fe9e05 Merge pull request #10578 from openlayers/dependabot/npm_and_yarn/sinon-8.1.1
Bump sinon from 8.1.0 to 8.1.1
2020-01-27 09:03:56 +01:00
Frédéric Junod
2f7e681c32 Merge pull request #10577 from openlayers/dependabot/npm_and_yarn/mocha-7.0.1
Bump mocha from 7.0.0 to 7.0.1
2020-01-27 09:03:36 +01:00
Frédéric Junod
e391be7de9 Merge pull request #10576 from openlayers/dependabot/npm_and_yarn/rollup-1.29.1
Bump rollup from 1.29.0 to 1.29.1
2020-01-27 09:03:10 +01:00
Frédéric Junod
f2d5b6b116 Merge pull request #10573 from mike-000/patch-7
Replace Bing layer with MapTiler in example
2020-01-27 08:47:25 +01:00
dependabot-preview[bot]
7f6d77d811 Bump sinon from 8.1.0 to 8.1.1
Bumps [sinon](https://github.com/sinonjs/sinon) from 8.1.0 to 8.1.1.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v8.1.0...v8.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 07:47:19 +00:00
dependabot-preview[bot]
2205937b2d Bump mocha from 7.0.0 to 7.0.1
Bumps [mocha](https://github.com/mochajs/mocha) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v7.0.0...v7.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 07:46:34 +00:00
dependabot-preview[bot]
bf57a23940 Bump rollup from 1.29.0 to 1.29.1
Bumps [rollup](https://github.com/rollup/rollup) from 1.29.0 to 1.29.1.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v1.29.0...v1.29.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-27 07:45:55 +00:00
mike-000
e820042748 Fix ol/layer/Graticule rendercomplete problem
fix typedef imports
2020-01-26 14:04:05 +00:00
mike-000
a7bdee43b3 Fix ol/layer/Graticule rendercomplete problem
Use custom loading strategy to avoid problems caused by calling removeLoadedExtent in the loader function
2020-01-26 13:51:11 +00:00
Andreas Hocevar
23d441f9f2 Handle tileSize and tilePixelRatio properly 2020-01-25 19:55:30 +01:00
Andreas Hocevar
91b9058582 Merge pull request #10570 from ahocevar/fix-vector-image-ratio
Use correct extent for the vector image
2020-01-24 19:30:45 +01:00
Andreas Hocevar
5ca4af125e Merge pull request #10572 from ahocevar/assert-no-duplicate-layers
Assert each layer is only added to the map once
2020-01-24 18:03:27 +01:00
Andreas Hocevar
1ee03decdd Assert each layer is only added to the map once 2020-01-24 17:52:13 +01:00
mike-000
96ebacca1f Replace Bing layer with MapTiler 2020-01-24 16:34:43 +00:00
mike-000
a9e738c919 Replace Bing layer with MapTiler 2020-01-24 16:33:34 +00:00
mike-000
c9c616bd6f Replace Bing layer with MapTiler 2020-01-24 16:31:08 +00:00
mike-000
1eac18f94a Replace Bing layer with MapTiler 2020-01-24 15:51:41 +00:00
mike-000
e11db6de44 Replace Bing layer with MapTiler 2020-01-24 15:49:08 +00:00
Vincent Lecrubier
8c89ddceca Revert #9489 and solves retina tiles on zoomify apparently. 2020-01-24 15:33:42 +00:00
Andreas Hocevar
89c5364b2f Use correct extent for the vector image 2020-01-24 13:50:02 +01:00
Andreas Hocevar
97cb0bbd77 Merge pull request #10563 from ahocevar/map-to-image
More compatible way of exporting a map as pdf
2020-01-23 12:19:56 +01:00
Vincent Lecrubier
3a5c8d637c Zoomify: Separate the service pixel ratio and the device pixel ratio 2020-01-22 09:32:11 +00:00
Andreas Hocevar
4db204698e More compatible way of exporting a map as pdf 2020-01-21 22:27:28 +01:00
Andreas Hocevar
d1b2dfb669 Merge pull request #10545 from mike-000/patch-7
Make KML point feature styles compatible with declutter
2020-01-20 13:45:52 +01:00
mike-000
5830a36131 Convert any html character codes in labels
fix typedef
2020-01-20 10:37:04 +00:00
mike-000
83d65b61e1 Convert any html character codes in labels
fix typedef
2020-01-20 10:30:44 +00:00
mike-000
c221cc7a46 Convert any html character codes in labels
reuse single textarea element
2020-01-20 10:24:57 +00:00
Andreas Hocevar
a25e10524b Merge pull request #10542 from mike-000/patch-6
Replace Bing layer with MapTiler in KML example
2020-01-20 09:35:29 +01:00
Andreas Hocevar
afba861ab5 Merge pull request #10543 from MoonE/jsdoc-api-mustnothavevalue
@api tag must not have a value.
2020-01-20 09:33:28 +01:00
Andreas Hocevar
d670eba5eb Merge pull request #10547 from MoonE/apidoc-remove-non-api-modules
Only generate module apidoc pages when it contains api tags
2020-01-20 09:22:33 +01:00
Andreas Hocevar
3dff4f73e2 Merge pull request #10551 from openlayers/dependabot/npm_and_yarn/handlebars-4.7.2
Bump handlebars from 4.7.1 to 4.7.2
2020-01-20 09:17:25 +01:00
Andreas Hocevar
f87a7656ce Merge pull request #10550 from openlayers/dependabot/npm_and_yarn/babel/preset-env-7.8.3
Bump @babel/preset-env from 7.8.2 to 7.8.3
2020-01-20 09:16:54 +01:00
Andreas Hocevar
8f7e5ce63c Merge pull request #10549 from openlayers/dependabot/npm_and_yarn/sinon-8.1.0
Bump sinon from 8.0.4 to 8.1.0
2020-01-20 09:16:20 +01:00
Andreas Hocevar
ca944c8ece Merge pull request #10548 from openlayers/dependabot/npm_and_yarn/babel/core-7.8.3
Bump @babel/core from 7.8.0 to 7.8.3
2020-01-20 09:15:44 +01:00
dependabot-preview[bot]
9ce0d6159c Bump handlebars from 4.7.1 to 4.7.2
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.7.1 to 4.7.2.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.7.1...v4.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 07:55:15 +00:00
dependabot-preview[bot]
f2ae509d07 Bump @babel/preset-env from 7.8.2 to 7.8.3
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.8.2 to 7.8.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.2...v7.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 07:54:16 +00:00
dependabot-preview[bot]
e00cfeec06 Bump sinon from 8.0.4 to 8.1.0
Bumps [sinon](https://github.com/sinonjs/sinon) from 8.0.4 to 8.1.0.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v8.0.4...v8.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 07:53:02 +00:00
dependabot-preview[bot]
fa9d4586a3 Bump @babel/core from 7.8.0 to 7.8.3
Bumps [@babel/core](https://github.com/babel/babel) from 7.8.0 to 7.8.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.8.0...v7.8.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-20 07:52:12 +00:00
Maximilian Krög
e2dc67546e Only generate module apidoc pages when it contains api tags 2020-01-19 15:51:48 +01:00
mike-000
e2b42c100f Include html character code in text style test 2020-01-19 12:02:16 +00:00
mike-000
bf23dca068 Include html character code in text style test 2020-01-19 11:42:59 +00:00
mike-000
23858dc09d Convert any html character codes in labels 2020-01-19 11:28:05 +00:00
mike-000
9493d68217 Make feature styles compatible with declutter
Remove type def relating to deleted line
2020-01-18 20:19:56 +00:00
mike-000
730008cfad Make feature styles compatible with declutter
Update expected result to single style object to reflect change
Remove duplicated test
2020-01-18 20:00:09 +00:00
mike-000
258bfeaecc Make feature styles compatible with declutter
Return a single style object for image and text for point features as concatenating two styles in an array is not compatible with decluttering
2020-01-18 19:37:18 +00:00
Maximilian Krög
9cc7ef4b96 Use correct config for tags which must not have a value. 2020-01-18 20:15:10 +01:00
mike-000
3ac33ee723 Replace Bing layer with MapTiler 2020-01-17 21:53:52 +00:00
mike-000
62cd0cbcc9 Replace Bing layer with MapTiler 2020-01-17 21:47:32 +00:00
Andreas Hocevar
2f094978ca Merge pull request #10502 from walkermatt/stopevent-removed-target
Stop events that originate with a removed target
2020-01-17 21:34:39 +01:00
Andreas Hocevar
de5cd5c664 Merge pull request #10527 from ahocevar/no-label-cache
Remove label cache, render text directly to target canvas
2020-01-16 09:23:41 +01:00
Tim Schaub
8e2adf9955 Merge pull request #10534 from wussup/patch-1
[GeoJSON] Read projection from CRS type EPSG
2020-01-15 15:21:28 -07:00
Andreas Hocevar
adbab7992e Merge pull request #10430 from Razi91/offset-RegularShape
Offset regular shape
2020-01-15 11:26:41 +01:00
jkonieczny
df710e4d6f fix example with displacement 2020-01-15 11:13:45 +01:00
jkonieczny
2112478b6b Added test + jsdoc 2020-01-15 11:13:45 +01:00
jkonieczny
78378f0253 refactor offset to displacement 2020-01-15 11:13:45 +01:00
jkonieczny
4c7f52c8a4 Offset for ImageStyle 2020-01-15 11:13:44 +01:00
jkonieczny
ee1b038714 add example to regularshape 2020-01-15 11:13:44 +01:00
jkonieczny
1506e13b60 use anchor for offsetting 2020-01-15 11:13:44 +01:00
jkonieczny
601bd7bae6 add offset option to RegularShape 2020-01-15 11:13:44 +01:00
wussup
cbdd63a38b Strings must have singlequotes
Strings must have singlequotes
2020-01-15 10:29:14 +01:00
wussup
bc6f34d691 Read projection from CRS type EPSG
CRS also may have type 'EPSG' and then the code is reading from property 'code' in object 'properties'
2020-01-15 10:13:18 +01:00
philip
ccf3532eb2 Fix the parameter name to have the opt_ prefix. 2020-01-14 13:48:23 +00:00
philip
d2b0599177 Dynamically chose the number of subdivisions based on the size of the Image. 2020-01-14 13:39:52 +00:00
Andreas Hocevar
fd935bae53 Remove label cache, render text directly to target canvas 2020-01-13 22:12:53 +01:00
Matt Walker
eeec2b9e7d Lint: remove unused imports 2020-01-13 11:32:40 +00:00
Matt Walker
4e599a370b Use document.body to check if an event target is within the page
Some events will originate outside the map viewport such as keyboard
events which originate with the element specified by keyboardEventTarget
which could be document.body
2020-01-13 10:56:41 +00:00
Matt Walker
5ce532e3e4 Mock PointerEvent in tests to include target
The `target` Event property is readonly as it is set internally when an
event is dispatched. This change uses a plain object with the essential
properties that a PointerEvent has which is sufficent for map event handling
2020-01-13 10:46:40 +00:00
Frédéric Junod
56a6919d9a Merge pull request #10518 from openlayers/dependabot/npm_and_yarn/front-matter-3.1.0
Bump front-matter from 3.0.2 to 3.1.0
2020-01-13 10:02:48 +01:00
Frédéric Junod
c4eea624f4 Merge pull request #10516 from openlayers/dependabot/npm_and_yarn/handlebars-4.7.1
Bump handlebars from 4.5.3 to 4.7.1
2020-01-13 10:02:26 +01:00
Frédéric Junod
76e81bbc78 Merge pull request #10514 from openlayers/dependabot/npm_and_yarn/terser-webpack-plugin-2.3.2
Bump terser-webpack-plugin from 2.3.1 to 2.3.2
2020-01-13 10:02:08 +01:00
Frédéric Junod
bbadfefc92 Merge pull request #10523 from openlayers/dependabot/npm_and_yarn/sinon-8.0.4
Bump sinon from 8.0.2 to 8.0.4
2020-01-13 09:34:43 +01:00
Frédéric Junod
e4c98c58bd Merge pull request #10513 from fgubler/fgubler/constrain-only-center-flag-fix-notes
fixed flag-name in upgrade notes
2020-01-13 09:34:21 +01:00
dependabot-preview[bot]
6d5602b569 Bump front-matter from 3.0.2 to 3.1.0
Bumps [front-matter](https://github.com/jxson/front-matter) from 3.0.2 to 3.1.0.
- [Release notes](https://github.com/jxson/front-matter/releases)
- [Commits](https://github.com/jxson/front-matter/compare/v3.0.2...v3.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:33:08 +00:00
dependabot-preview[bot]
f79cc24ff3 Bump handlebars from 4.5.3 to 4.7.1
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.5.3 to 4.7.1.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/v4.7.1/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.5.3...v4.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:33:06 +00:00
Frédéric Junod
b2e81109b4 Merge pull request #10515 from openlayers/dependabot/npm_and_yarn/babel/preset-env-7.8.2
Bump @babel/preset-env from 7.7.7 to 7.8.2
2020-01-13 09:32:43 +01:00
Frédéric Junod
afe97ef04e Merge pull request #10517 from openlayers/dependabot/npm_and_yarn/karma-firefox-launcher-1.3.0
Bump karma-firefox-launcher from 1.2.0 to 1.3.0
2020-01-13 09:32:16 +01:00
Frédéric Junod
ab607eb02a Merge pull request #10519 from openlayers/dependabot/npm_and_yarn/babel/core-7.8.0
Bump @babel/core from 7.7.7 to 7.8.0
2020-01-13 09:31:50 +01:00
Frédéric Junod
86cef49368 Merge pull request #10520 from openlayers/dependabot/npm_and_yarn/globby-11.0.0
Bump globby from 10.0.1 to 11.0.0
2020-01-13 09:31:17 +01:00
Frédéric Junod
8e45a3378a Merge pull request #10521 from openlayers/dependabot/npm_and_yarn/rollup-plugin-terser-5.2.0
Bump rollup-plugin-terser from 5.1.3 to 5.2.0
2020-01-13 09:30:53 +01:00
Frédéric Junod
ec265a04c7 Merge pull request #10522 from openlayers/dependabot/npm_and_yarn/rollup-1.29.0
Bump rollup from 1.28.0 to 1.29.0
2020-01-13 09:30:34 +01:00
dependabot-preview[bot]
ea1070193e Bump sinon from 8.0.2 to 8.0.4
Bumps [sinon](https://github.com/sinonjs/sinon) from 8.0.2 to 8.0.4.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v8.0.2...v8.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:10:42 +00:00
dependabot-preview[bot]
e9ab684ef3 Bump rollup from 1.28.0 to 1.29.0
Bumps [rollup](https://github.com/rollup/rollup) from 1.28.0 to 1.29.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v1.28.0...v1.29.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:09:49 +00:00
dependabot-preview[bot]
87a953c4ec Bump rollup-plugin-terser from 5.1.3 to 5.2.0
Bumps [rollup-plugin-terser](https://github.com/TrySound/rollup-plugin-terser) from 5.1.3 to 5.2.0.
- [Release notes](https://github.com/TrySound/rollup-plugin-terser/releases)
- [Commits](https://github.com/TrySound/rollup-plugin-terser/compare/v5.1.3...v5.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:09:06 +00:00
dependabot-preview[bot]
e05641b6b8 Bump globby from 10.0.1 to 11.0.0
Bumps [globby](https://github.com/sindresorhus/globby) from 10.0.1 to 11.0.0.
- [Release notes](https://github.com/sindresorhus/globby/releases)
- [Commits](https://github.com/sindresorhus/globby/compare/v10.0.1...v11.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:08:00 +00:00
dependabot-preview[bot]
bacc159fc6 Bump @babel/core from 7.7.7 to 7.8.0
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.7 to 7.8.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.7...v7.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:07:01 +00:00
dependabot-preview[bot]
8935cb509a Bump karma-firefox-launcher from 1.2.0 to 1.3.0
Bumps [karma-firefox-launcher](https://github.com/karma-runner/karma-firefox-launcher) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/karma-runner/karma-firefox-launcher/releases)
- [Changelog](https://github.com/karma-runner/karma-firefox-launcher/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma-firefox-launcher/compare/v1.2.0...v1.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:05:32 +00:00
dependabot-preview[bot]
02931d54b5 Bump @babel/preset-env from 7.7.7 to 7.8.2
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.7.7 to 7.8.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.7...v7.8.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:03:35 +00:00
dependabot-preview[bot]
95a319a670 Bump terser-webpack-plugin from 2.3.1 to 2.3.2
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v2.3.1...v2.3.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-13 08:02:43 +00:00
Gubler, Florian
986e6d940c fixed flag-name in upgrade notes: "constrainOnlyCenter" instead of "constrainCenterOnly" 2020-01-13 08:45:29 +01:00
Andreas Hocevar
080ef7c56e Merge pull request #10504 from mike-000/patch-1
Fix for reset north when rotation is 360 degrees
2020-01-12 13:00:36 +01:00
Andreas Hocevar
810fab54ec Merge pull request #10510 from MoonE/clear-built-apidoc-before-running-jsdoc
Remove build/apidoc before running jsdoc again
2020-01-12 12:55:40 +01:00
Maximilian Krög
3bac2e49d1 Remove build/apidoc before running jsdoc again 2020-01-11 17:40:56 +01:00
mike-000
0512c690f8 Fix for reset north when rotation is 360 degrees
Animated reset north doesn't work and isn't needed if rotation is 360 degrees (or a multiple of 360)
2020-01-10 13:39:29 +00:00
Matt Walker
f3d94b3132 Fix lint error 2020-01-10 11:16:54 +00:00
Matt Walker
34dc538122 Stop events that originate with a removed target
As discussed in https://github.com/openlayers/openlayers/issues/6948#issuecomment-565375694

The check to see if the target is within the "page" uses the viewport as
the MapBrowserEventHandler instance adds it's listeners to the viewport.

Using Node.contains appears to have a slight performance benefit
over manually walking the DOM.
2020-01-10 10:48:15 +00:00
Andreas Hocevar
c851f6c6bf Merge pull request #10498 from gazza0/master
Fixing issue #10497 on behalf of LarryHuang
2020-01-09 14:10:53 +01:00
gazza0
88e3db4928 Merge pull request #1 from gazza0/gazza0-patch-1
Fixing issue #10497 on behalf of LarryHuang
2020-01-09 03:01:20 -08:00
gazza0
420e7d87ae Fixing issue #10497 on behalf of LarryHuang
Since Larry is not able to access github, i'm committing on behalf of him, explanation of the issue and he's original fix can be found https://github.com/openlayers/openlayers/issues/10497
2020-01-09 02:52:21 -08:00
Andreas Hocevar
44fab1000e Merge pull request #10496 from ahocevar/stopevent-dragging
Do not stop events when dragging
2020-01-09 09:52:57 +01:00
Andreas Hocevar
a4735e0700 Merge pull request #10478 from ahocevar/abort-without-dispose
Do not abort and dispose of tiles
2020-01-09 09:52:07 +01:00
Andreas Hocevar
b26f570cb7 Do not stop events when dragging 2020-01-08 21:39:29 +01:00
Andreas Hocevar
e2687da202 Merge pull request #10495 from danielklim/dlim/view-fit-typo
typo in view.fit
2020-01-08 12:57:40 +01:00
Andreas Hocevar
9f4dbd3c35 Reuse existing canvases from vector render tiles 2020-01-08 10:53:43 +01:00
Andreas Hocevar
5a8df1d4e2 We no longer need to increase the cache size 2020-01-08 10:53:42 +01:00
Andreas Hocevar
46d98201c3 Store source tiles on render tile instead of source 2020-01-08 10:53:42 +01:00
Dan Lim
21e9601d7b typo in view.fit 2020-01-07 16:12:06 -08:00
Tim Schaub
8125463e59 Merge pull request #10473 from mike-000/patch-1
Fix for undefined source in Vector layer
2020-01-06 18:25:11 -07:00
mike-000
cb665b7ea7 Simplify to return false if layer has no source 2020-01-06 17:31:38 +00:00
Frédéric Junod
c1c256040e Merge pull request #10484 from fredj/heatmap_gradient_update
Use a function to get the value of the gradient
2020-01-06 11:06:43 +01:00
Frederic Junod
5a1921d7bd Use a function to get the value of the gradient 2020-01-06 10:52:16 +01:00
Frédéric Junod
adea3b48dc Merge pull request #10480 from openlayers/dependabot/npm_and_yarn/mocha-7.0.0
Bump mocha from 6.2.2 to 7.0.0
2020-01-06 10:48:01 +01:00
Frédéric Junod
d60a153ca6 Merge pull request #10482 from openlayers/dependabot/npm_and_yarn/sinon-8.0.2
Bump sinon from 8.0.1 to 8.0.2
2020-01-06 10:47:19 +01:00
Frédéric Junod
d1ef920fab Merge pull request #10481 from openlayers/dependabot/npm_and_yarn/yargs-15.1.0
Bump yargs from 15.0.2 to 15.1.0
2020-01-06 10:46:59 +01:00
Frédéric Junod
ff2a33367d Merge pull request #10479 from openlayers/dependabot/npm_and_yarn/rollup-1.28.0
Bump rollup from 1.27.14 to 1.28.0
2020-01-06 10:46:28 +01:00
Olivier Guyot
6d092cf1a6 Merge pull request #10262 from bjornharrtell/lazy-dom-impl
Rework to make Document and XMLSerializer lazy and injectable
2020-01-06 09:37:17 +01:00
dependabot-preview[bot]
68de72d1cc Bump sinon from 8.0.1 to 8.0.2
Bumps [sinon](https://github.com/sinonjs/sinon) from 8.0.1 to 8.0.2.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v8.0.1...v8.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-06 07:38:58 +00:00
dependabot-preview[bot]
780e4f5fbd Bump yargs from 15.0.2 to 15.1.0
Bumps [yargs](https://github.com/yargs/yargs) from 15.0.2 to 15.1.0.
- [Release notes](https://github.com/yargs/yargs/releases)
- [Changelog](https://github.com/yargs/yargs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/yargs/compare/v15.0.2...v15.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-06 07:38:20 +00:00
dependabot-preview[bot]
77c2c04ae6 Bump mocha from 6.2.2 to 7.0.0
Bumps [mocha](https://github.com/mochajs/mocha) from 6.2.2 to 7.0.0.
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v6.2.2...v7.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-06 07:37:44 +00:00
dependabot-preview[bot]
c840d29f9f Bump rollup from 1.27.14 to 1.28.0
Bumps [rollup](https://github.com/rollup/rollup) from 1.27.14 to 1.28.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v1.27.14...v1.28.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-06 07:36:59 +00:00
Björn Harrtell
05a5f162d4 Move logic from dom to xml module 2020-01-05 13:12:27 +01:00
Björn Harrtell
5b661ed84c Fix jsdoc 2020-01-05 13:00:44 +01:00
Björn Harrtell
bdc20e0293 Rework to register Document and add XMLSerializer 2020-01-05 13:00:44 +01:00
Björn Harrtell
fc46166821 Fix argument name mixup 2020-01-05 13:00:44 +01:00
Björn Harrtell
90d61033e0 Rework to make DOMImplementation lazy and injectable 2020-01-05 13:00:44 +01:00
Andreas Hocevar
2875685b3c Use TileCache instead of custom structure 2020-01-05 12:25:44 +01:00
Andreas Hocevar
ae1ee192f3 Avoid misleading bind argument 2020-01-05 12:09:46 +01:00
Andreas Hocevar
bec747e513 Remove unused argument and member 2020-01-05 12:08:43 +01:00
Andreas Hocevar
6affeb0beb Do not dispose VectorRenderTiles 2020-01-05 11:52:45 +01:00
Andreas Hocevar
da6eed850c Do not lock label cache entries 2020-01-05 11:24:46 +01:00
Andreas Hocevar
ae336f0a1b Remove disposeInternal of ImageTile and reproj/Tile 2020-01-05 00:13:05 +01:00
Andreas Hocevar
b91e1a893d Do not abort and dispose of tiles 2020-01-05 00:05:24 +01:00
mike-000
5b1df4438d Fix for undefined source in Image layer
Prevent error if layer does not have a source.  Also clear any existing image if source is set to null or undefined by setSource.
2020-01-01 22:04:10 +00:00
mike-000
f48704cac4 Fix for undefined source in Vector layer
A source left or set undefined is equivalent to an empty source so treat it as such to prevent errors in prepareFrame
2020-01-01 21:04:12 +00:00
Tim Schaub
6063021792 Merge pull request #10461 from MoonE/apidocs-objecttypelink
Fix link in apidocs to ObjectEvent.
2019-12-31 00:27:27 -05:00
Tim Schaub
ada6ff7290 Merge pull request #10466 from openlayers/dependabot/npm_and_yarn/webpack-4.41.5
Bump webpack from 4.41.4 to 4.41.5
2019-12-31 00:25:10 -05:00
Tim Schaub
5b3338b6f7 Merge pull request #10467 from openlayers/dependabot/npm_and_yarn/sinon-8.0.1
Bump sinon from 8.0.0 to 8.0.1
2019-12-31 00:24:38 -05:00
dependabot-preview[bot]
e8a17376b6 Bump sinon from 8.0.0 to 8.0.1
Bumps [sinon](https://github.com/sinonjs/sinon) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v8.0.0...v8.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 07:38:28 +00:00
dependabot-preview[bot]
58482c6c64 Bump webpack from 4.41.4 to 4.41.5
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.4 to 4.41.5.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.4...v4.41.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-30 07:37:37 +00:00
Maximilian Krög
9622a8ca93 Fix link in apidocs to ObjectEvent. 2019-12-27 23:35:19 +01:00
Olivier Guyot
e4ea272799 Merge pull request #10413 from MoonE/zoomsliderextent
Limit the ZoomSlider's range to the view's constrained resolution.
2019-12-23 14:59:19 +01:00
Olivier Guyot
b68d5e139d Merge pull request #10438 from jahow/prevent-layout-reflow
Avoid accessing the DOM to read the viewport size too often
2019-12-23 10:57:42 +01:00
Olivier Guyot
4440994ec8 Avoid recomputing the viewport size by reading the DOM everytime
Also clarify View#calculateExtent doc & remove the [data-view] attribute
on the viewport element (not needed anymore).
2019-12-23 10:47:54 +01:00
Andreas Hocevar
c66a19c9cc Merge pull request #10450 from openlayers/dependabot/npm_and_yarn/babel/core-7.7.7
Bump @babel/core from 7.7.5 to 7.7.7
2019-12-23 10:43:17 +01:00
Andreas Hocevar
7bcc8fc73e Merge pull request #10449 from openlayers/dependabot/npm_and_yarn/eslint-6.8.0
Bump eslint from 6.7.2 to 6.8.0
2019-12-23 10:42:44 +01:00
Andreas Hocevar
05bc7f00ca Merge pull request #10448 from openlayers/dependabot/npm_and_yarn/rollup-1.27.14
Bump rollup from 1.27.13 to 1.27.14
2019-12-23 10:42:00 +01:00
Olivier Guyot
0d9aec4b6b Merge pull request #10439 from jahow/webgl-add-rotation
WebGL points layer / add support for symbol rotation
2019-12-23 10:32:12 +01:00
dependabot-preview[bot]
3d3fe9f41b Bump rollup from 1.27.13 to 1.27.14
Bumps [rollup](https://github.com/rollup/rollup) from 1.27.13 to 1.27.14.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v1.27.13...v1.27.14)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 09:15:54 +00:00
Andreas Hocevar
daf8d0af6c Merge pull request #10447 from openlayers/dependabot/npm_and_yarn/babel/preset-env-7.7.7
Bump @babel/preset-env from 7.7.6 to 7.7.7
2019-12-23 10:14:33 +01:00
Andreas Hocevar
79232ea668 Merge pull request #10446 from openlayers/dependabot/npm_and_yarn/sinon-8.0.0
Bump sinon from 7.5.0 to 8.0.0
2019-12-23 10:13:58 +01:00
Andreas Hocevar
d7a331fc7c Merge pull request #10445 from openlayers/dependabot/npm_and_yarn/webpack-4.41.4
Bump webpack from 4.41.2 to 4.41.4
2019-12-23 09:50:26 +01:00
dependabot-preview[bot]
ada892322a Bump webpack from 4.41.2 to 4.41.4
Bumps [webpack](https://github.com/webpack/webpack) from 4.41.2 to 4.41.4.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v4.41.2...v4.41.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 08:22:11 +00:00
Andreas Hocevar
c60fd4decd Merge pull request #10444 from openlayers/dependabot/npm_and_yarn/terser-webpack-plugin-2.3.1
Bump terser-webpack-plugin from 2.3.0 to 2.3.1
2019-12-23 09:21:00 +01:00
Andreas Hocevar
739459f886 Merge pull request #10443 from openlayers/dependabot/npm_and_yarn/webpack-dev-server-3.10.1
Bump webpack-dev-server from 3.9.0 to 3.10.1
2019-12-23 09:20:20 +01:00
dependabot-preview[bot]
bcb78fe3a9 Bump @babel/core from 7.7.5 to 7.7.7
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.5 to 7.7.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.5...v7.7.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 07:54:01 +00:00
dependabot-preview[bot]
8496b5b4e0 Bump eslint from 6.7.2 to 6.8.0
Bumps [eslint](https://github.com/eslint/eslint) from 6.7.2 to 6.8.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.7.2...v6.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 07:53:34 +00:00
dependabot-preview[bot]
dd9643cc07 Bump @babel/preset-env from 7.7.6 to 7.7.7
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.7.6 to 7.7.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.6...v7.7.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 07:52:02 +00:00
dependabot-preview[bot]
28ae21e5dd Bump sinon from 7.5.0 to 8.0.0
Bumps [sinon](https://github.com/sinonjs/sinon) from 7.5.0 to 8.0.0.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v7.5.0...v8.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 07:51:13 +00:00
dependabot-preview[bot]
8838565629 Bump terser-webpack-plugin from 2.3.0 to 2.3.1
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 2.3.0 to 2.3.1.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v2.3.0...v2.3.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 07:49:51 +00:00
dependabot-preview[bot]
a4c3bce3b1 Bump webpack-dev-server from 3.9.0 to 3.10.1
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.9.0 to 3.10.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/v3.10.1/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.9.0...v3.10.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-23 07:49:09 +00:00
Maximilian Krög
33389969ce Limit the ZoomSlider's range to the view's constrained resolution. 2019-12-20 23:13:41 +01:00
Maximilian Krög
d7eaacf923 Small performance improvement by saving the calculated logarithm. 2019-12-20 23:13:19 +01:00
Olivier Guyot
33e24e9ce9 Updated webgl-points-layer example to add a style with rotation
Also made it so that the map re-renders continously, to be able to
use the ["time"] operator.
2019-12-20 21:54:06 +01:00
Olivier Guyot
6c46eb1dd0 Webgl / add support for a rotation parameter in LiteralStyle
The ShaderBuilder can now take a rotation expression.
2019-12-20 17:39:40 +01:00
Olivier Guyot
6f000e3155 Add missing documentation in ol/style/expressions 2019-12-20 17:13:15 +01:00
Andreas Hocevar
f08a2ab3d1 Merge pull request #10434 from mike-000/patch-6
Disable image smoothing for the DEM source in the Sea Level example
2019-12-19 09:39:58 +01:00
mike-000
caefe8c85b Disable image smoothing for the DEM source 2019-12-18 20:49:44 +00:00
mike-000
977b89c99d Disable image smoothing for the DEM source 2019-12-18 20:40:20 +00:00
Tim Schaub
2b45bc054e Merge pull request #10417 from mike-000/patch-3
Replace Bing layer with MapTiler
2019-12-16 19:43:12 -07:00
Frédéric Junod
23251947be Merge pull request #10425 from openlayers/dependabot/npm_and_yarn/elm-pep-1.0.3
Bump elm-pep from 1.0.2 to 1.0.3
2019-12-16 10:35:50 +01:00
Frédéric Junod
3da3339c03 Merge pull request #10427 from openlayers/dependabot/npm_and_yarn/webpack-cli-3.3.10
Bump webpack-cli from 3.3.2 to 3.3.10
2019-12-16 10:35:21 +01:00
Frédéric Junod
0632db0851 Merge pull request #10426 from openlayers/dependabot/npm_and_yarn/copy-webpack-plugin-5.1.1
Bump copy-webpack-plugin from 5.0.5 to 5.1.1
2019-12-16 10:35:05 +01:00
Frédéric Junod
21831fc098 Merge pull request #10424 from openlayers/dependabot/npm_and_yarn/eslint-6.7.2
Bump eslint from 6.7.1 to 6.7.2
2019-12-16 10:34:41 +01:00
Frédéric Junod
5bcfb9c10a Merge pull request #10423 from openlayers/dependabot/npm_and_yarn/marked-0.8.0
Bump marked from 0.7.0 to 0.8.0
2019-12-16 10:34:25 +01:00
Frédéric Junod
e74000fbc0 Merge pull request #10422 from openlayers/dependabot/npm_and_yarn/url-polyfill-1.1.7
Bump url-polyfill from 1.1.5 to 1.1.7
2019-12-16 10:34:00 +01:00
Frédéric Junod
1ab8445d29 Merge pull request #10421 from openlayers/dependabot/npm_and_yarn/rollup-plugin-terser-5.1.3
Bump rollup-plugin-terser from 5.1.2 to 5.1.3
2019-12-16 08:48:13 +01:00
Frédéric Junod
84c2743879 Merge pull request #10420 from openlayers/dependabot/npm_and_yarn/terser-webpack-plugin-2.3.0
Bump terser-webpack-plugin from 2.2.2 to 2.3.0
2019-12-16 08:47:56 +01:00
Frédéric Junod
7649f2484a Merge pull request #10419 from openlayers/dependabot/npm_and_yarn/rollup-1.27.13
Bump rollup from 1.27.9 to 1.27.13
2019-12-16 08:46:40 +01:00
Frédéric Junod
b86ef23c99 Merge pull request #10418 from openlayers/dependabot/npm_and_yarn/babel-loader-8.0.6
Bump babel-loader from 8.0.5 to 8.0.6
2019-12-16 08:46:15 +01:00
dependabot-preview[bot]
1e2f3cbfbb Bump webpack-cli from 3.3.2 to 3.3.10
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 3.3.2 to 3.3.10.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/v3.3.10/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/v3.3.2...v3.3.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 07:43:39 +00:00
dependabot-preview[bot]
c04b234be4 Bump copy-webpack-plugin from 5.0.5 to 5.1.1
Bumps [copy-webpack-plugin](https://github.com/webpack-contrib/copy-webpack-plugin) from 5.0.5 to 5.1.1.
- [Release notes](https://github.com/webpack-contrib/copy-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/copy-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/copy-webpack-plugin/compare/v5.0.5...v5.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 07:42:53 +00:00
dependabot-preview[bot]
6113121d53 Bump elm-pep from 1.0.2 to 1.0.3
Bumps [elm-pep](https://github.com/ahocevar/elm-pep) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/ahocevar/elm-pep/releases)
- [Commits](https://github.com/ahocevar/elm-pep/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 07:42:11 +00:00
dependabot-preview[bot]
e9e6868b5c Bump eslint from 6.7.1 to 6.7.2
Bumps [eslint](https://github.com/eslint/eslint) from 6.7.1 to 6.7.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.7.1...v6.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 07:41:33 +00:00
dependabot-preview[bot]
21fbf29b67 Bump marked from 0.7.0 to 0.8.0
Bumps [marked](https://github.com/markedjs/marked) from 0.7.0 to 0.8.0.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v0.7.0...v0.8.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 07:40:44 +00:00
dependabot-preview[bot]
ac7a98933e Bump url-polyfill from 1.1.5 to 1.1.7
Bumps [url-polyfill](https://github.com/lifaon74/url-polyfill) from 1.1.5 to 1.1.7.
- [Release notes](https://github.com/lifaon74/url-polyfill/releases)
- [Commits](https://github.com/lifaon74/url-polyfill/commits/1.1.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 07:39:51 +00:00
dependabot-preview[bot]
67a8afd4ac Bump rollup-plugin-terser from 5.1.2 to 5.1.3
Bumps [rollup-plugin-terser](https://github.com/TrySound/rollup-plugin-terser) from 5.1.2 to 5.1.3.
- [Release notes](https://github.com/TrySound/rollup-plugin-terser/releases)
- [Commits](https://github.com/TrySound/rollup-plugin-terser/compare/v5.1.2...v5.1.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 07:39:02 +00:00
dependabot-preview[bot]
7d90b5ffb7 Bump terser-webpack-plugin from 2.2.2 to 2.3.0
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 2.2.2 to 2.3.0.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v2.2.2...v2.3.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 07:38:09 +00:00
dependabot-preview[bot]
ad6247fc6a Bump rollup from 1.27.9 to 1.27.13
Bumps [rollup](https://github.com/rollup/rollup) from 1.27.9 to 1.27.13.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v1.27.9...v1.27.13)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 07:37:18 +00:00
dependabot-preview[bot]
b39cb7c00e Bump babel-loader from 8.0.5 to 8.0.6
Bumps [babel-loader](https://github.com/babel/babel-loader) from 8.0.5 to 8.0.6.
- [Release notes](https://github.com/babel/babel-loader/releases)
- [Changelog](https://github.com/babel/babel-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel-loader/compare/v8.0.5...v8.0.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-16 07:36:32 +00:00
mike-000
3bf1931f39 Replace Bing layer with MapTiler 2019-12-15 16:15:51 +00:00
mike-000
122140e9f0 Replace Bing layer with MapTiler 2019-12-15 16:04:46 +00:00
Andreas Hocevar
4c0bdda8b8 Merge pull request #10415 from mike-000/patch-1
Control button span element pointer events
2019-12-14 23:42:12 +01:00
mike-000
ab8e80fc98 Control button span element pointer events
Prevent pointer events on span elements within control buttons
2019-12-14 13:47:05 +00:00
mike-000
9d8609dd08 Modify and snap to circle in user coordinates
Correct modify interaction at center and at drawn circle circumference
Correct snap interaction at drawn circle circumference

Test circle geometry in a user projection
2019-12-13 16:40:39 +00:00
Olivier Guyot
4a8a7619d5 Merge pull request #10409 from jahow/fix-heatmap-pixelratio
Improve viewport computation in WebGL Postprocessing
2019-12-13 12:13:17 +01:00
Olivier Guyot
cae32edb02 WebGL Postprocess / fix viewport computation with pixelratio != 1 2019-12-13 10:34:31 +01:00
Olivier Guyot
ca0ce4986d Merge pull request #10119 from mike-000/patch-8
Add crossOrigin option to ol/format/KML for icons
2019-12-13 09:26:56 +01:00
Olivier Guyot
6537fecc69 Merge pull request #10181 from roemhildtg/master
add tags to example docs
2019-12-13 09:25:50 +01:00
Gregg Roemhildt
f8b145f82a Using label classes on the anchor
Co-Authored-By: Olivier Guyot <olivier.guyot@camptocamp.com>
2019-12-12 20:03:21 -06:00
mike-000
6596a988c0 Add crossOrigin option for icons
Avoid unnecessary tests by using only one test for the default icon crossOrigin,.  In other cases ensure that the specified option is set.
2019-12-12 17:50:50 +00:00
mike-000
f13ebbee3f Add crossOrigin option for icons
Add  * @this {KML} to functions invoked using .call
2019-12-12 17:21:14 +00:00
Andreas Hocevar
6684bc221a Merge pull request #10407 from ahocevar/renderfeature-extent
Use render feature compatible extent check
2019-12-12 08:42:59 +01:00
Andreas Hocevar
c1857efd81 Use render feature compatible extent check 2019-12-11 22:21:15 +01:00
Andreas Hocevar
8e0a8114d7 Merge pull request #10340 from mike-000/patch-7
Draw circles and custom geometry in user coordinates
2019-12-11 10:07:12 +01:00
mike-000
2e544cb677 Circles and custom geometry in user coordinates
Pass the view projection to the geometry function so circles and other custom geometry can be given the expected shape/size in the view while being defined in user coordinates.

Add tests to draw circles in a user projection and along both axes
Draw regular polygon in a user projection
Draw box in a user projection
2019-12-10 19:47:37 +00:00
Andreas Hocevar
e361391503 Merge pull request #10393 from ahocevar/vectortile-getfeaturesinextent
getFeaturesInExtent function for ol/source/VectorTile
2019-12-10 15:24:54 +01:00
Andreas Hocevar
bbc1de280d getFeaturesInExtent() for VectorTile source 2019-12-10 14:07:37 +01:00
Andreas Hocevar
f460198850 Simpler tileLoadFunction for vector tiles 2019-12-10 13:50:35 +01:00
Andreas Hocevar
f52f72dd96 Merge pull request #10402 from ahocevar/no-preventdefault
Do not preventDefault on pointerdown
2019-12-10 13:40:53 +01:00
Andreas Hocevar
8911b96d3c Do not preventDefault on pointerdown 2019-12-10 12:25:23 +01:00
Andreas Hocevar
38b278339d Merge pull request #10269 from mike-000/patch-2
Replace the BNG layer source in the Raster Reprojection example
2019-12-10 09:20:50 +01:00
Andreas Hocevar
02b34a4c23 Merge pull request #10394 from ahocevar/cleanup-maprenderer
Remove map renderer element when disposing
2019-12-09 09:30:55 +01:00
Andreas Hocevar
ff02dd6653 Merge pull request #10391 from ahocevar/box-shadow
Use box-shadow css instead of filter
2019-12-09 09:29:47 +01:00
Andreas Hocevar
dc3e515c0e Merge pull request #10392 from ahocevar/interim-vectortiles
Fix interim tile handing for vector tiles
2019-12-09 09:29:01 +01:00
Frédéric Junod
9939f082d0 Merge pull request #10399 from openlayers/dependabot/npm_and_yarn/rollup-1.27.9
Bump rollup from 1.25.1 to 1.27.9
2019-12-09 08:57:31 +01:00
Frédéric Junod
36deaf9fd1 Merge pull request #10398 from openlayers/dependabot/npm_and_yarn/terser-webpack-plugin-2.2.2
Bump terser-webpack-plugin from 2.2.1 to 2.2.2
2019-12-09 08:57:05 +01:00
Frédéric Junod
211368436f Merge pull request #10397 from openlayers/dependabot/npm_and_yarn/babel/core-7.7.5
Bump @babel/core from 7.7.4 to 7.7.5
2019-12-09 08:56:38 +01:00
Frédéric Junod
c3773c1419 Merge pull request #10396 from openlayers/dependabot/npm_and_yarn/babel/preset-env-7.7.6
Bump @babel/preset-env from 7.7.4 to 7.7.6
2019-12-09 08:56:10 +01:00
dependabot-preview[bot]
dcadbf374a Bump rollup from 1.25.1 to 1.27.9
Bumps [rollup](https://github.com/rollup/rollup) from 1.25.1 to 1.27.9.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v1.25.1...v1.27.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 07:33:33 +00:00
dependabot-preview[bot]
29d34b8694 Bump terser-webpack-plugin from 2.2.1 to 2.2.2
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 2.2.1 to 2.2.2.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v2.2.1...v2.2.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 07:32:31 +00:00
dependabot-preview[bot]
da2d743023 Bump @babel/core from 7.7.4 to 7.7.5
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.4 to 7.7.5.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.4...v7.7.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 07:31:51 +00:00
dependabot-preview[bot]
c3d31c796f Bump @babel/preset-env from 7.7.4 to 7.7.6
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.7.4 to 7.7.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.4...v7.7.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-09 07:30:48 +00:00
Andreas Hocevar
cefc57622b Remove map renderer element when disposing 2019-12-08 17:52:28 +01:00
Andreas Hocevar
5f6ea987a5 Merge pull request #10380 from mike-000/patch-5
Adjust examples for layer canvas pixel ratio and rotation
2019-12-07 16:52:26 +01:00
Andreas Hocevar
174dea3232 Fix interim tile handing for vector tiles 2019-12-07 15:18:18 +01:00
Andreas Hocevar
d86d4db813 Use boxe-shadow css instead of filter 2019-12-07 13:53:28 +01:00
Frédéric Junod
f9f8f9c7c5 Merge pull request #10384 from mike-000/patch-4
Include Transform typedef in API
2019-12-06 09:42:00 +01:00
Andreas Hocevar
29c55aacae Merge pull request #10385 from walkermatt/rbush
Import transpiled rbush
2019-12-05 17:06:24 +01:00
Matt Walker
a389903749 Import transpiled rbush. Resolves #10379 2019-12-05 12:09:42 +00:00
mike-000
35b2a92c10 Include Transform typedef in API 2019-12-05 12:06:03 +00:00
mike-000
2790d50660 Adjust for layer canvas rotation
replace missed lines
2019-12-04 23:47:12 +00:00
mike-000
b4ae4ab86f Adjust for layer canvas rotation 2019-12-04 23:08:29 +00:00
mike-000
aaae50e689 Adjust for layer canvas pixel ratio and rotation 2019-12-04 23:04:44 +00:00
mike-000
10f9a70d5f Adjust for layer canvas pixel ratio and rotation 2019-12-04 22:59:16 +00:00
Andreas Hocevar
fb73bbaa00 Merge pull request #10363 from ahocevar/svg-layer
Interactive SVG layer example
2019-12-03 14:51:37 +01:00
Andreas Hocevar
d3b492d175 Interactive SVG layer example 2019-12-03 14:39:44 +01:00
Olivier Guyot
3530b4cf12 Merge pull request #10120 from mike-000/patch-9
Resolve constraints using anchor if following a cancelled animation
2019-12-03 09:37:48 +01:00
Tim Schaub
b1ebd03244 Merge pull request #10365 from openlayers/dependabot/npm_and_yarn/babel/preset-env-7.7.4
Bump @babel/preset-env from 7.6.3 to 7.7.4
2019-12-02 14:37:57 -07:00
Tim Schaub
f6bb0a3ad6 Merge pull request #10366 from openlayers/dependabot/npm_and_yarn/karma-coverage-istanbul-reporter-2.1.1
Bump karma-coverage-istanbul-reporter from 2.1.0 to 2.1.1
2019-12-02 14:37:37 -07:00
Tim Schaub
b1b3544f4d Merge pull request #10367 from openlayers/dependabot/npm_and_yarn/coveralls-3.0.9
Bump coveralls from 3.0.7 to 3.0.9
2019-12-02 14:37:16 -07:00
Tim Schaub
3865a7c23a Merge pull request #10368 from openlayers/dependabot/npm_and_yarn/sinon-7.5.0
Bump sinon from 7.3.2 to 7.5.0
2019-12-02 14:36:48 -07:00
Tim Schaub
3f82a8be77 Merge pull request #10369 from openlayers/dependabot/npm_and_yarn/babel/core-7.7.4
Bump @babel/core from 7.7.2 to 7.7.4
2019-12-02 14:36:21 -07:00
Tim Schaub
611946aa6f Merge pull request #10370 from mike-000/patch-5
Replace Bing layer with MapTiler
2019-12-02 14:35:29 -07:00
mike-000
aaebab2831 Replace Bing layer with MapTiler 2019-12-02 16:40:16 +00:00
dependabot-preview[bot]
66c1112c84 Bump @babel/core from 7.7.2 to 7.7.4
Bumps [@babel/core](https://github.com/babel/babel) from 7.7.2 to 7.7.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.7.2...v7.7.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 07:31:50 +00:00
dependabot-preview[bot]
45d1e8f032 Bump sinon from 7.3.2 to 7.5.0
Bumps [sinon](https://github.com/sinonjs/sinon) from 7.3.2 to 7.5.0.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v7.3.2...v7.5.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 07:31:23 +00:00
dependabot-preview[bot]
05169ccd1f Bump coveralls from 3.0.7 to 3.0.9
Bumps [coveralls](https://github.com/nickmerwin/node-coveralls) from 3.0.7 to 3.0.9.
- [Release notes](https://github.com/nickmerwin/node-coveralls/releases)
- [Commits](https://github.com/nickmerwin/node-coveralls/commits/3.0.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 07:30:40 +00:00
dependabot-preview[bot]
bcaf3b5a9b Bump karma-coverage-istanbul-reporter from 2.1.0 to 2.1.1
Bumps [karma-coverage-istanbul-reporter](https://github.com/mattlewis92/karma-coverage-istanbul-reporter) from 2.1.0 to 2.1.1.
- [Release notes](https://github.com/mattlewis92/karma-coverage-istanbul-reporter/releases)
- [Changelog](https://github.com/mattlewis92/karma-coverage-istanbul-reporter/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mattlewis92/karma-coverage-istanbul-reporter/compare/v2.1.0...v2.1.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 07:30:08 +00:00
dependabot-preview[bot]
8e9c8e8707 Bump @babel/preset-env from 7.6.3 to 7.7.4
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.6.3 to 7.7.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.3...v7.7.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-12-02 07:29:21 +00:00
Andreas Hocevar
c70e385398 Merge pull request #10362 from ahocevar/leftover-from-10332
Remove line that was accidently added with #10332
2019-12-01 11:34:32 +01:00
Andreas Hocevar
2b6925dc1e Remove line that was accidently added with #10332 2019-11-30 18:16:54 +01:00
Andreas Hocevar
057650fe7d Merge pull request #10309 from ahocevar/vectortile-rendermode-vector
Bring back vector render mode for vector tile layers
2019-11-29 11:51:38 +01:00
Andreas Hocevar
10a6284b0b Merge pull request #10332 from ahocevar/no-touch-action-css
Conditional default prevention instead of touch-action: none
2019-11-29 09:52:29 +01:00
Andreas Hocevar
f0a32e11d5 Fix typo
Co-Authored-By: Frédéric Junod <frederic.junod@camptocamp.com>
2019-11-29 09:46:46 +01:00
Andreas Hocevar
0a319ea2a2 Merge pull request #10301 from ahocevar/getfeatures-fixes
Create hit detection data per layer and without requestAnimationFrame
2019-11-29 09:44:09 +01:00
Andreas Hocevar
75103e08ed Merge pull request #10347 from adube/utfgrid-source-handle-load-state-loaded
Set utfgrid tile as loaded after load instead of empty
2019-11-27 18:14:09 +01:00
Alexandre Dubé
d87caed50f Set utfgrid tile as loaded after load instead of empty 2019-11-27 11:37:52 -05:00
Andreas Hocevar
cda01cfeb9 Merge pull request #10344 from ahocevar/preemptive-tilejson
Fix lazy UTFGrid loading
2019-11-27 10:21:30 +01:00
Andreas Hocevar
79074d31c1 Fix lazy UTFGrid loading 2019-11-27 09:44:43 +01:00
Andreas Hocevar
e2c4670d6a Merge pull request #10321 from greggian/touch-dragbox
Support touch events for DragBox interaction
2019-11-26 18:34:28 +01:00
Andreas Hocevar
e881e4bb99 Merge pull request #10315 from mike-000/patch-5
Replace Bing sources in some examples
2019-11-26 18:32:44 +01:00
mike-000
28818e5b4e Replace Bing layers with MapTiler 2019-11-26 17:06:14 +00:00
Andreas Hocevar
a66734dd20 Merge pull request #10330 from greggian/modify-circle
Fix modifying circle geometries
2019-11-26 17:42:33 +01:00
Andreas Hocevar
7c4c4c47ec Merge pull request #10337 from openlayers/dependabot/npm_and_yarn/fs-extra-8.1.0
Bump fs-extra from 8.0.1 to 8.1.0
2019-11-25 10:23:14 +01:00
Andreas Hocevar
0e18a7007f Merge pull request #10336 from openlayers/dependabot/npm_and_yarn/eslint-6.7.1
Bump eslint from 6.6.0 to 6.7.1
2019-11-25 10:22:45 +01:00
dependabot-preview[bot]
ec7fc3e680 Bump eslint from 6.6.0 to 6.7.1
Bumps [eslint](https://github.com/eslint/eslint) from 6.6.0 to 6.7.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.6.0...v6.7.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 08:42:51 +00:00
Andreas Hocevar
354d9aea8b Merge pull request #10335 from openlayers/dependabot/npm_and_yarn/yargs-15.0.2
Bump yargs from 14.2.0 to 15.0.2
2019-11-25 09:40:44 +01:00
Andreas Hocevar
3e7d0650b1 Merge pull request #10334 from openlayers/dependabot/npm_and_yarn/webpack-dev-middleware-3.7.2
Bump webpack-dev-middleware from 3.6.2 to 3.7.2
2019-11-25 09:40:09 +01:00
Andreas Hocevar
36586ec4a1 Merge pull request #10333 from openlayers/dependabot/npm_and_yarn/copy-webpack-plugin-5.0.5
Bump copy-webpack-plugin from 5.0.4 to 5.0.5
2019-11-25 09:39:42 +01:00
dependabot-preview[bot]
46f32d2387 Bump fs-extra from 8.0.1 to 8.1.0
Bumps [fs-extra](https://github.com/jprichardson/node-fs-extra) from 8.0.1 to 8.1.0.
- [Release notes](https://github.com/jprichardson/node-fs-extra/releases)
- [Changelog](https://github.com/jprichardson/node-fs-extra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jprichardson/node-fs-extra/commits/8.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 07:33:37 +00:00
dependabot-preview[bot]
6e3fd19b89 Bump yargs from 14.2.0 to 15.0.2
Bumps [yargs](https://github.com/yargs/yargs) from 14.2.0 to 15.0.2.
- [Release notes](https://github.com/yargs/yargs/releases)
- [Changelog](https://github.com/yargs/yargs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/yargs/compare/v14.2.0...v15.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 07:32:19 +00:00
dependabot-preview[bot]
0d4bbd69fc Bump webpack-dev-middleware from 3.6.2 to 3.7.2
Bumps [webpack-dev-middleware](https://github.com/webpack/webpack-dev-middleware) from 3.6.2 to 3.7.2.
- [Release notes](https://github.com/webpack/webpack-dev-middleware/releases)
- [Changelog](https://github.com/webpack/webpack-dev-middleware/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-middleware/compare/v3.6.2...v3.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 07:31:27 +00:00
dependabot-preview[bot]
6906784319 Bump copy-webpack-plugin from 5.0.4 to 5.0.5
Bumps [copy-webpack-plugin](https://github.com/webpack-contrib/copy-webpack-plugin) from 5.0.4 to 5.0.5.
- [Release notes](https://github.com/webpack-contrib/copy-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/copy-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/copy-webpack-plugin/compare/v5.0.4...v5.0.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-25 07:30:37 +00:00
Andreas Hocevar
88b8b2f7cb Conditional default prevention instead of touch-action: none 2019-11-25 01:09:05 +01:00
Greg Gianforcaro
6bada6ab98 Add test modifying circle with snap enabled 2019-11-23 16:11:27 -05:00
Greg Gianforcaro
93d3ddb033 Fix modifying circle geometries
The Snap interaction may have altered the event coordinate, so Modify
should use the event coordinate whenever available.

Resolves #10316
2019-11-23 00:36:42 -05:00
Greg Gianforcaro
d99c77b992 Update DragBox jsdoc
- update the typedef to change the condition default value to {@link ol/events/condition~mouseActionButton}
- remove 'This interaction is only supported for mouse devices' comment
2019-11-22 16:35:31 -05:00
Andreas Hocevar
0ed57b8b7c Merge pull request #10318 from ahocevar/elm-pep
Use a minimalist pointer events polyfill
2019-11-21 14:45:34 +01:00
Andreas Hocevar
a990b8e0bf Merge pull request #10322 from mike-000/patch-6
Update tile grid option descriptions
2019-11-21 00:10:27 +01:00
mike-000
8865f22020 Fix trailing space 2019-11-20 18:28:59 +00:00
mike-000
fb7060a4d0 Update tile grid option descriptions
In version 6 coordinate increase downwards.  Revise the description for "sizes" to better distinguish zoom level and overall grid extents.  Remove reference to the "widths" options which was deprecated over 4 years ago.
2019-11-20 18:15:31 +00:00
mike-000
c3153075b2 Update tile grid option descriptions
In version 6 coordinate increase downwards.  Add a description for "sizes"
2019-11-20 18:02:42 +00:00
Greg Gianforcaro
2df22af3ca Update DragBox to use only condition for filtering
- Remove mouseOnly and mouseActionButton hardcoded filters
- Default condition to mouseActionButton
2019-11-20 11:01:57 -05:00
Andreas Hocevar
ae1e8b662d Update package-lock.json 2019-11-20 07:59:32 +01:00
Andreas Hocevar
569deddd06 Use elm-pep instead of PEP as pointer events polyfill 2019-11-20 07:59:32 +01:00
Andreas Hocevar
3e31551962 Improved tests 2019-11-20 00:52:18 +01:00
Andreas Hocevar
9317ad850e Create hit detection data per layer and without requestAnimationFrame 2019-11-20 00:50:43 +01:00
Andreas Hocevar
32932a7fd3 Merge pull request #10308 from ahocevar/hitdetect-index
Fix feature lookup after removal of alpha
2019-11-19 08:46:55 +01:00
Olivier Guyot
5d61d556a0 Merge pull request #10310 from brianhelba/overview-rotation
Ensure that OverviewMap respects the initial rotation of attached Maps
2019-11-18 16:40:54 +01:00
Brian Helba
c5ad886d7c Ensure that OverviewMap respects the initial rotation of attached Maps 2019-11-18 05:33:28 -05:00
Andreas Hocevar
cf6cd09f58 Bring back vector render mode for vector tile layers 2019-11-18 10:40:05 +01:00
Andreas Hocevar
3f8164250c Merge pull request #10306 from openlayers/dependabot/npm_and_yarn/puppeteer-2.0.0
Bump puppeteer from 1.20.0 to 2.0.0
2019-11-18 10:33:25 +01:00
Andreas Hocevar
bb6c02ae57 Update reference images 2019-11-18 10:19:53 +01:00
dependabot-preview[bot]
e5f5177969 Bump puppeteer from 1.20.0 to 2.0.0
Bumps [puppeteer](https://github.com/GoogleChrome/puppeteer) from 1.20.0 to 2.0.0.
- [Release notes](https://github.com/GoogleChrome/puppeteer/releases)
- [Commits](https://github.com/GoogleChrome/puppeteer/compare/v1.20.0...v2.0.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 08:45:04 +00:00
Andreas Hocevar
b2e5098311 Merge pull request #10307 from openlayers/dependabot/npm_and_yarn/babel/core-7.7.2
Bump @babel/core from 7.6.4 to 7.7.2
2019-11-18 09:43:34 +01:00
Andreas Hocevar
31854fd882 Merge pull request #10305 from openlayers/dependabot/npm_and_yarn/proj4-2.6.0
Bump proj4 from 2.5.0 to 2.6.0
2019-11-18 09:43:03 +01:00
Andreas Hocevar
331dd7e1d7 Merge pull request #10304 from openlayers/dependabot/npm_and_yarn/handlebars-4.5.3
Bump handlebars from 4.4.5 to 4.5.3
2019-11-18 09:42:31 +01:00
Andreas Hocevar
ff17156c8f Merge pull request #10303 from openlayers/dependabot/npm_and_yarn/glob-7.1.6
Bump glob from 7.1.5 to 7.1.6
2019-11-18 09:42:04 +01:00
Andreas Hocevar
a75c18330d Merge pull request #10302 from ahocevar/sign
Do not use Math.sign() to support very old browsers
2019-11-18 08:58:35 +01:00
Andreas Hocevar
d0b4967ec0 Fix feature lookup after removal of alpha 2019-11-18 08:56:20 +01:00
dependabot-preview[bot]
b6185981c0 Bump @babel/core from 7.6.4 to 7.7.2
Bumps [@babel/core](https://github.com/babel/babel) from 7.6.4 to 7.7.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.6.4...v7.7.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 07:38:30 +00:00
dependabot-preview[bot]
90bb31d81e Bump proj4 from 2.5.0 to 2.6.0
Bumps [proj4](https://github.com/proj4js/proj4js) from 2.5.0 to 2.6.0.
- [Release notes](https://github.com/proj4js/proj4js/releases)
- [Changelog](https://github.com/proj4js/proj4js/blob/master/changelog.md)
- [Commits](https://github.com/proj4js/proj4js/compare/2.5.0...2.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 07:37:19 +00:00
dependabot-preview[bot]
4aabfb694d Bump handlebars from 4.4.5 to 4.5.3
Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.4.5 to 4.5.3.
- [Release notes](https://github.com/wycats/handlebars.js/releases)
- [Changelog](https://github.com/wycats/handlebars.js/blob/master/release-notes.md)
- [Commits](https://github.com/wycats/handlebars.js/compare/v4.4.5...v4.5.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 07:36:47 +00:00
dependabot-preview[bot]
1641114c6a Bump glob from 7.1.5 to 7.1.6
Bumps [glob](https://github.com/isaacs/node-glob) from 7.1.5 to 7.1.6.
- [Release notes](https://github.com/isaacs/node-glob/releases)
- [Changelog](https://github.com/isaacs/node-glob/blob/master/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v7.1.5...v7.1.6)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-18 07:35:46 +00:00
Andreas Hocevar
3cca945002 Do not use Math.sign() to support very old browsers 2019-11-18 07:54:20 +01:00
Andreas Hocevar
f784fe6e42 Merge pull request #10295 from ahocevar/hitdetect-no-style
Do not fail when hit detecting  features without style
2019-11-14 16:03:13 +01:00
Andreas Hocevar
fcd98774a0 Do not fail when hit detecting features without style 2019-11-14 14:32:11 +01:00
Andreas Hocevar
54c86b1a04 Merge pull request #10293 from ahocevar/vectortile-getfeatures
Do not hit detect while tile is loading
2019-11-14 11:03:35 +01:00
Andreas Hocevar
818113e3ce Do not hit detect while tile is loading 2019-11-14 10:30:13 +01:00
Frédéric Junod
47216505de Merge pull request #10292 from jomue/patch-1
Fix typo in jsdoc in ol/source/WMTS
2019-11-14 09:11:21 +01:00
Andreas Hocevar
0a4c9edde7 Merge pull request #10291 from ahocevar/tabindex
tabindex without focus condition
2019-11-14 09:07:37 +01:00
Andreas Hocevar
30c4ce51b2 Merge pull request #10286 from ahocevar/passive
Use passive option to avoid Chrome warning
2019-11-14 09:06:50 +01:00
Jonas
5dbd1e4cbb Fix typo in jsdoc 2019-11-14 08:50:35 +01:00
Andreas Hocevar
643a3ad86b tabindex without focux condition 2019-11-13 23:24:53 +01:00
Andreas Hocevar
fab8a449c3 Use passive option to avoid Chrome warning 2019-11-13 11:08:44 +01:00
Tim Schaub
8b036ba96c Merge pull request #10285 from mike-000/patch-3
Fix WMS GetLegendGraphic example codesandbox error
2019-11-12 21:14:11 -07:00
mike-000
4fb301e3e5 Fix codesandbox error
src="" is not needed and causes an error when the example is opened in codesandbox
2019-11-12 16:38:14 +00:00
Frédéric Junod
9478cb1945 Merge pull request #10283 from fredj/targetNotEditable
Use the originalEvent in the targetNotEditable condition
2019-11-12 08:24:20 +01:00
Andreas Hocevar
86b2026f54 Merge pull request #10280 from openlayers/dependabot/npm_and_yarn/rollup-plugin-commonjs-10.1.0
Bump rollup-plugin-commonjs from 10.0.0 to 10.1.0
2019-11-11 20:13:40 +01:00
Andreas Hocevar
c7a0512397 Merge pull request #10279 from openlayers/dependabot/npm_and_yarn/rollup-plugin-terser-5.1.2
Bump rollup-plugin-terser from 5.0.0 to 5.1.2
2019-11-11 20:13:10 +01:00
Andreas Hocevar
e1f707145b Merge pull request #10278 from openlayers/dependabot/npm_and_yarn/eslint-6.6.0
Bump eslint from 6.0.0 to 6.6.0
2019-11-11 20:12:36 +01:00
Andreas Hocevar
434096ed9a Merge pull request #10277 from openlayers/dependabot/npm_and_yarn/karma-webpack-4.0.2
Bump karma-webpack from 4.0.0-rc.6 to 4.0.2
2019-11-11 20:11:59 +01:00
Andreas Hocevar
241e695f7f Merge pull request #10276 from openlayers/dependabot/npm_and_yarn/webpack-dev-server-3.9.0
Bump webpack-dev-server from 3.3.1 to 3.9.0
2019-11-11 20:11:25 +01:00
Frederic Junod
fc7cb5cd51 Use the originalEvent in the targetNotEditable condition 2019-11-11 14:41:39 +01:00
Frédéric Junod
79a3091ba4 Merge pull request #10282 from jansule/patch-1
Fix documentation of Stroke.lineDash default value
2019-11-11 12:41:40 +01:00
Jan Suleiman
2581252f88 Fix documentation of Stroke.lineDash default value
Documentation states that default value of lineDash is `undefined`, but it is `null` actually.
2019-11-11 11:39:26 +01:00
dependabot-preview[bot]
e016af83ee Bump rollup-plugin-commonjs from 10.0.0 to 10.1.0
Bumps [rollup-plugin-commonjs](https://github.com/rollup/rollup-plugin-commonjs) from 10.0.0 to 10.1.0.
- [Release notes](https://github.com/rollup/rollup-plugin-commonjs/releases)
- [Changelog](https://github.com/rollup/rollup-plugin-commonjs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup-plugin-commonjs/compare/v10.0.0...v10.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 10:17:57 +00:00
dependabot-preview[bot]
b65249326f Bump rollup-plugin-terser from 5.0.0 to 5.1.2
Bumps [rollup-plugin-terser](https://github.com/TrySound/rollup-plugin-terser) from 5.0.0 to 5.1.2.
- [Release notes](https://github.com/TrySound/rollup-plugin-terser/releases)
- [Commits](https://github.com/TrySound/rollup-plugin-terser/compare/v5.0.0...v5.1.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 10:16:50 +00:00
dependabot-preview[bot]
5c24fc8514 Bump eslint from 6.0.0 to 6.6.0
Bumps [eslint](https://github.com/eslint/eslint) from 6.0.0 to 6.6.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/compare/v6.0.0...v6.6.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 10:15:53 +00:00
dependabot-preview[bot]
0c052bf67c Bump karma-webpack from 4.0.0-rc.6 to 4.0.2
Bumps [karma-webpack](https://github.com/webpack-contrib/karma-webpack) from 4.0.0-rc.6 to 4.0.2.
- [Release notes](https://github.com/webpack-contrib/karma-webpack/releases)
- [Changelog](https://github.com/webpack-contrib/karma-webpack/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/karma-webpack/compare/v4.0.0-rc.6...v4.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 10:14:56 +00:00
dependabot-preview[bot]
ecb42824f2 Bump webpack-dev-server from 3.3.1 to 3.9.0
Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 3.3.1 to 3.9.0.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v3.3.1...v3.9.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-11 10:13:46 +00:00
mike-000
cf72a649cc Replace BNG layer source
The MapTiler MiniScale source used for the BNG layer is no longer working.  The data continues to be available via ESRI UK https://www.arcgis.com/home/item.html?id=5b5ff94ca7414a26b75e0d337a023d38
2019-11-08 15:52:39 +00:00
Frédéric Junod
6fe5c88614 Merge pull request #10259 from fredj/abortDrawing
Remove all the sketch features in abortDrawing
2019-11-08 09:35:33 +01:00
Frédéric Junod
6f6551ad75 Merge pull request #10265 from fredj/update_operators_doc_in_example
Update operators doc in WebGL points layer example
2019-11-07 15:31:05 +01:00
Frederic Junod
59faeff1bf Update operators doc in WebGL points layer example
The text is a copy/paste from `ol/style/expressions`
2019-11-07 15:05:57 +01:00
Andreas Hocevar
366d548b91 Merge pull request #10256 from ahocevar/no-measuretextwidth-bypass
Do not bypass measureTextWidth
2019-11-07 10:30:52 +01:00
Frédéric Junod
222a344ae9 Merge pull request #10264 from fredj/webgl_var
Remove unused variable from vertex shader
2019-11-07 09:22:34 +01:00
Olivier Guyot
3d1cef9aa2 Merge pull request #10257 from brianhelba/patch-1
Allow View.adjust* methods to take a null opt_anchor
2019-11-07 09:10:11 +01:00
Olivier Guyot
3850bd1083 Merge pull request #10261 from jahow/webgl-fix-ff-warning
WebGL / do not throw error when shader compilation gives a warning
2019-11-07 09:09:46 +01:00
Frederic Junod
5c023adc08 Remove unused variable from vertex shader 2019-11-07 09:02:50 +01:00
Olivier Guyot
ae66471e78 Webgl renderer / hide shader compile errors
Turns out there are sometimes errors that will not prevent the
shader from functioning normally. As such, it is not possible
to simply throw when there are errors/warnings.

Since we are not logging to the console, these errors will have to stay hidden
unless the user requests them explicitly.
2019-11-06 21:40:39 +01:00
Frederic Junod
51c9b56254 Remove all the sketch features in abortDrawing 2019-11-06 14:18:55 +01:00
Brian Helba
d90a4569da Allow View.adjust* methods to take a null opt_anchor
The methods `View.adjustRotation`, `View.adjustZoom` and `View.adjustResolution`
optionally take an `opt_anchor` parameter. When `opt_anchor` is `undefined`, the
methods work properly. When it is `null`, they currently attempt to access the
`null` value as though it is a `Coordinate` object, and throw:
```
TypeError: Cannot read property '0' of null
```

This change allows `opt_anchor` to safely be `null`.

Existing code paths already expect this to be supported. For example, when
`MouseWheelZoom.useAnchor_` is `false`, then
[`MouseWheelZoom.lastAnchor_` remains `null`](77bc6897dd/src/ol/interaction/MouseWheelZoom.js (L166));
thus, this `null` value
[is passed to `View.adjustZoom` as `opt_anchor`](77bc6897dd/src/ol/interaction/MouseWheelZoom.js (L209)).
2019-11-05 21:30:17 -05:00
Andreas Hocevar
48ec398037 Do not bypass measureTextWidth 2019-11-05 21:08:48 +01:00
Frédéric Junod
77bc6897dd Merge pull request #10255 from fredj/handleMapBrowserEvent_element_type
Don't use instanceof HTMLElement in handleMapBrowserEvent
2019-11-05 13:55:22 +01:00
Frederic Junod
6978c69f20 Don't use instanceof HTMLElement in handleMapBrowserEvent
Because not all elements in the DOM are instance of `HTMLElement`.
For example, SVGs created with `document.createElementNS` are instances of `Element`.
2019-11-05 11:08:14 +01:00
Andreas Hocevar
146e38c7ef Merge pull request #10251 from openlayers/dependabot/npm_and_yarn/babel/preset-env-7.6.3
Bump @babel/preset-env from 7.4.4 to 7.6.3
2019-11-04 17:50:13 +01:00
Andreas Hocevar
17fa323f50 Merge pull request #10250 from openlayers/dependabot/npm_and_yarn/buble-0.19.8
Bump buble from 0.19.7 to 0.19.8
2019-11-04 17:49:44 +01:00
Andreas Hocevar
a053fac728 Merge pull request #10249 from openlayers/dependabot/npm_and_yarn/karma-firefox-launcher-1.2.0
Bump karma-firefox-launcher from 1.1.0 to 1.2.0
2019-11-04 17:48:37 +01:00
Andreas Hocevar
978d620191 Merge pull request #10248 from openlayers/dependabot/npm_and_yarn/html-to-image-0.1.1
Bump html-to-image from 0.1.0 to 0.1.1
2019-11-04 17:47:54 +01:00
Andreas Hocevar
4e0e34e26b Merge pull request #10247 from openlayers/dependabot/npm_and_yarn/terser-webpack-plugin-2.2.1
Bump terser-webpack-plugin from 2.0.1 to 2.2.1
2019-11-04 17:46:59 +01:00
dependabot-preview[bot]
4f46d8ae32 Bump @babel/preset-env from 7.4.4 to 7.6.3
Bumps [@babel/preset-env](https://github.com/babel/babel) from 7.4.4 to 7.6.3.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.4.4...v7.6.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-04 13:58:18 +00:00
dependabot-preview[bot]
7a2671650f Bump buble from 0.19.7 to 0.19.8
Bumps [buble](https://github.com/bublejs/buble) from 0.19.7 to 0.19.8.
- [Release notes](https://github.com/bublejs/buble/releases)
- [Changelog](https://github.com/bublejs/buble/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bublejs/buble/compare/v0.19.7...v0.19.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-04 13:57:39 +00:00
dependabot-preview[bot]
2e2fa241fc Bump karma-firefox-launcher from 1.1.0 to 1.2.0
Bumps [karma-firefox-launcher](https://github.com/karma-runner/karma-firefox-launcher) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/karma-runner/karma-firefox-launcher/releases)
- [Changelog](https://github.com/karma-runner/karma-firefox-launcher/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma-firefox-launcher/compare/v1.1.0...v1.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-04 13:57:02 +00:00
dependabot-preview[bot]
200763bf97 Bump html-to-image from 0.1.0 to 0.1.1
Bumps [html-to-image](https://github.com/bubkoo/html-to-image) from 0.1.0 to 0.1.1.
- [Release notes](https://github.com/bubkoo/html-to-image/releases)
- [Commits](https://github.com/bubkoo/html-to-image/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-04 13:56:21 +00:00
dependabot-preview[bot]
d11cb02af4 Bump terser-webpack-plugin from 2.0.1 to 2.2.1
Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 2.0.1 to 2.2.1.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v2.0.1...v2.2.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-11-04 13:55:46 +00:00
Andreas Hocevar
e4be8309f7 Merge pull request #10246 from openlayers/release-v6.1.1
Release v6.1.1
2019-11-04 12:25:24 +01:00
Andreas Hocevar
39a5511073 Update package version to 6.1.1 2019-11-04 12:16:04 +01:00
Andreas Hocevar
396f07bea1 Changelog for v6.1.1 2019-11-04 12:14:09 +01:00
Olivier Guyot
33980d0ba8 Merge pull request #10235 from jahow/webgl-optimizations
Various optimizations and fixes for the WebGL points renderer
2019-11-04 10:10:20 +01:00
Olivier Guyot
7da86ae71f Webgl points renderer / slight improvements following review
Also fixes a lint error.
2019-11-04 09:55:54 +01:00
Olivier Guyot
af15cfb815 Icon webgl example / avoid doing hit detection when view is moving 2019-11-04 09:31:38 +01:00
Olivier Guyot
600e1a4647 Webgl points renderer / use a smaller canvas for hit detection render
The hit detection render is now done against a canvas with half the
width/height of the main render. This still provides sufficient precision
while requiring a much smaller memory allocation (especially for
retina devices).
2019-11-04 09:31:38 +01:00
Olivier Guyot
43010c8934 Webgl / return 0 if doing renderTarget.read outside of data width/height
This would happen when WebGLPointsLayerRenderer.forEachFeatureAtCoordinate
is called on "warped" worlds at -360/+360 degrees, and may produce false
positives.
2019-11-04 09:31:38 +01:00
jahow
f7b0f6750b Resolve memory leak when deleting a webgl layer
Various references were kept, preventing the layer and underlying
renderer and webgl context to be garbage collected.

Also, the Helper was simplified because it turns out deleting manually
all Webgl objects is useless: these objects will be released when
the context is garbage collected anyway.

Note: this touches the Layer and BaseLayer classes, as the following were
preventing the layer from being garbage collected:
* layer reference in the `state_` object in BaseLayer
* dangling listener for source change in Layer
2019-11-04 09:31:38 +01:00
Olivier Guyot
e5e03d46a0 Webgl points renderer / more optimizations
Simplify calls in the attributes callback, also less stress
on garbage collection.
2019-11-04 09:31:38 +01:00
Olivier Guyot
e78c14c061 Webgl points renderer / add a cache for features in the source
This allows quicker access to features as well as their geometries
and properties, reducing the time taken by a rebuildBuffers call.
2019-11-04 09:31:38 +01:00
Andreas Hocevar
21f99e01c3 Merge pull request #10244 from ahocevar/no-multi-assign
Update to new eslint config with no-multi-assign
2019-11-02 16:48:46 +01:00
Andreas Hocevar
8098572346 Update package-lock.json 2019-11-02 15:20:35 +01:00
Andreas Hocevar
ac50cc3460 New eslint config with no-multi-assign 2019-11-02 15:20:21 +01:00
Andreas Hocevar
06ae419db6 Merge pull request #10243 from ahocevar/fix-font-measure
Store correct font value
2019-11-02 14:08:03 +01:00
Andreas Hocevar
43d6247671 Add rendering test case 2019-11-01 22:23:34 +01:00
Andreas Hocevar
442213f85b Store correct font value 2019-11-01 22:06:00 +01:00
Andreas Hocevar
2a96b6a8e3 Merge pull request #10239 from ahocevar/simpler-container-reuse
Simpler container reuse
2019-11-01 19:14:05 +01:00
Frédéric Junod
89f92a53b4 Merge pull request #10237 from fredj/zIndex_falsy_value
Fix layer zIndex test with falsy values
2019-11-01 08:25:56 +01:00
Andreas Hocevar
9c26d9d7dd Merge pull request #10221 from Kai-W/source-undefined-bug
Fix for undefined Source
2019-10-31 22:21:45 +01:00
Andreas Hocevar
3de05c249b Fix container transform comparison 2019-10-31 20:29:20 +01:00
Andreas Hocevar
bb2bdb17aa Render vector tile layers to a single canvas 2019-10-31 20:29:19 +01:00
Frederic Junod
b8c70bcbe7 Fix layer zIndex test with falsy values 2019-10-31 15:58:36 +01:00
Frederic Junod
c23d59e3a8 Remove extra argument passed to RenderEvent constructor 2019-10-31 15:47:27 +01:00
Andreas Hocevar
5dec336f94 Merge pull request #10228 from ahocevar/vectortile-hitdetect-rendertile
Use render tiles instead of source tiles for hit detection
2019-10-31 10:44:52 +01:00
Andreas Hocevar
e3f83f3601 Merge pull request #10226 from ahocevar/reproj-tile-abort
ABORT reproj tiles properly
2019-10-30 16:55:35 +01:00
Andreas Hocevar
3d0f7e4af8 Update the vector-tile-selection example 2019-10-30 14:39:54 +01:00
Andreas Hocevar
4b13c6dae0 Speed up rendering by not using alpha 2019-10-30 14:36:23 +01:00
Andreas Hocevar
7097a4c6ba Use render tiles instead of source tiles for hit detection 2019-10-30 11:44:12 +01:00
Andreas Hocevar
79ea5bf9cd Set ABORT state in base class 2019-10-30 10:29:58 +01:00
Andreas Hocevar
97d0d277fb Merge pull request #10224 from ahocevar/hitdetect-vectortiles-fixes
Vector tile hit detection fixes
2019-10-29 22:33:53 +01:00
Andreas Hocevar
025b27bdec Use correct resolution for tile hit canvas 2019-10-29 22:11:46 +01:00
Andreas Hocevar
00af5a87be Only use source tile when it is available 2019-10-29 18:29:42 +01:00
kai.westerkamp
53f6359f8f Fix for undefined Source 2019-10-29 15:38:14 +01:00
Frédéric Junod
bac3a8e9d8 Merge pull request #10218 from fredj/doc_fixes_expression
Documentation fixes in ol/style/expressions
2019-10-29 11:17:27 +01:00
Andreas Hocevar
66eedbfed2 Merge pull request #10216 from ahocevar/changelog-dependabot
Update changelog script to recognize dependabot instead of greenkeeper
2019-10-29 10:56:16 +01:00
Frédéric Junod
7d7228d45c Update src/ol/style/expressions.js
Co-Authored-By: Olivier Guyot <olivier.guyot@camptocamp.com>
2019-10-29 10:50:14 +01:00
Andreas Hocevar
459efede60 Update package-lock.json 2019-10-29 10:47:58 +01:00
Frederic Junod
b0ed775bc6 Documentation fixes 2019-10-29 08:42:11 +01:00
Andreas Hocevar
43ebfc4653 Merge pull request #10215 from openlayers/release-v6.1.0
Release v6.1.0
2019-10-28 22:00:33 +01:00
Andreas Hocevar
49c1486e06 Update changelog script to recognize dependabot instead of greenkeeper 2019-10-28 21:49:18 +01:00
Andreas Hocevar
3902759595 Update package version to 6.1.0 2019-10-28 21:44:02 +01:00
Andreas Hocevar
d71c733d9b Changelog for v6.1.0 2019-10-28 21:44:01 +01:00
Andreas Hocevar
90e1819d76 Merge pull request #10214 from jahow/webgl-layer-boolean-operators
WebGL / Add 'case' operator for style expressions
2019-10-28 21:11:47 +01:00
Olivier Guyot
f84fae8f70 Merge pull request #10198 from jahow/fix-webgl-renderer-loading-extent
WebGL renderer / use the specified loading strategy for the vector data
2019-10-28 16:19:52 +01:00
Olivier Guyot
6c0dd6152d Modified the icon-sprite-webgl example to allow filtering on a string attribute 2019-10-28 15:55:15 +01:00
Olivier Guyot
b96e70e952 Expressions / renamed mod to % to be more in line with MB style spec 2019-10-28 15:55:15 +01:00
Olivier Guyot
501c90b0a2 Expressions / introduced the case operator
This operator is used for if/else control flow
2019-10-28 15:52:31 +01:00
Olivier Guyot
2a2783c086 ShaderBuilder / better handling of strings variables/attributes
Now values which are not mentioned in the style are still added to
the string literals mapping.

Also an error will be thrown if a style references a missing variable.
2019-10-28 15:21:44 +01:00
Olivier Guyot
2f49876180 Expressions / add != operator & slightly better doc 2019-10-28 15:13:43 +01:00
Frédéric Junod
c7161acb6a Merge pull request #10212 from fredj/dependabot_config
Add config file for dependabot
2019-10-28 13:53:07 +01:00
Andreas Hocevar
db6314b6b2 Merge pull request #10187 from ahocevar/tabindex-scrollover
Set touch-action to allow native touch gestures
2019-10-28 13:49:44 +01:00
Tim Schaub
65eb24da68 Merge pull request #10194 from MrSoUndso/dev
Added check to make sure extent array has four objects.
2019-10-28 06:39:11 -06:00
Jakob Gerstmayer
6652192647 fixed spacing issues (again) 2019-10-28 12:55:26 +01:00
Jakob Gerstmayer
bc34fe5b71 incorporated suggestions 2019-10-28 12:51:40 +01:00
Olivier Guyot
80b4473180 Simplify the heatmap example
Use a weight function instead of manually edditing the features.
2019-10-28 10:27:29 +01:00
Olivier Guyot
cd3b222467 Specify an actual extent when loading features in the Webgl points renderer
This means any specified loading strategy will be taken into account.

Also added some tests to make sure the interaction with the source is
correct.
2019-10-28 10:26:31 +01:00
Andreas Hocevar
6e4259359b Merge pull request #10208 from openlayers/dependabot/npm_and_yarn/pixelmatch-5.1.0
Bump pixelmatch from 5.0.2 to 5.1.0
2019-10-28 09:24:39 +01:00
Frederic Junod
a2e6119da1 Add config file for dependabot 2019-10-28 09:24:35 +01:00
dependabot-preview[bot]
c992cea9a4 Bump pixelmatch from 5.0.2 to 5.1.0
Bumps [pixelmatch](https://github.com/mapbox/pixelmatch) from 5.0.2 to 5.1.0.
- [Release notes](https://github.com/mapbox/pixelmatch/releases)
- [Commits](https://github.com/mapbox/pixelmatch/compare/v5.0.2...v5.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 08:14:17 +00:00
Andreas Hocevar
ced327e9a0 Merge pull request #10210 from openlayers/dependabot/npm_and_yarn/glob-7.1.5
Bump glob from 7.1.4 to 7.1.5
2019-10-28 09:14:06 +01:00
Andreas Hocevar
df1fcc0d90 Merge pull request #10209 from openlayers/dependabot/npm_and_yarn/karma-4.4.1
Bump karma from 4.1.0 to 4.4.1
2019-10-28 09:13:19 +01:00
Andreas Hocevar
b13cbe8cb8 Merge pull request #10207 from openlayers/dependabot/npm_and_yarn/ol-mapbox-style-5.0.2
Bump ol-mapbox-style from 5.0.0-beta.3 to 5.0.2
2019-10-28 09:12:19 +01:00
dependabot-preview[bot]
2abc88d41c Bump glob from 7.1.4 to 7.1.5
Bumps [glob](https://github.com/isaacs/node-glob) from 7.1.4 to 7.1.5.
- [Release notes](https://github.com/isaacs/node-glob/releases)
- [Changelog](https://github.com/isaacs/node-glob/blob/master/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v7.1.4...v7.1.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 07:55:53 +00:00
dependabot-preview[bot]
3e0494aa9e Bump karma from 4.1.0 to 4.4.1
Bumps [karma](https://github.com/karma-runner/karma) from 4.1.0 to 4.4.1.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v4.1.0...v4.4.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 07:55:02 +00:00
dependabot-preview[bot]
aa5487b67b Bump ol-mapbox-style from 5.0.0-beta.3 to 5.0.2
Bumps [ol-mapbox-style](https://github.com/openlayers/ol-mapbox-style) from 5.0.0-beta.3 to 5.0.2.
- [Release notes](https://github.com/openlayers/ol-mapbox-style/releases)
- [Changelog](https://github.com/openlayers/ol-mapbox-style/blob/master/CHANGELOG.md)
- [Commits](https://github.com/openlayers/ol-mapbox-style/compare/v5.0.0-beta.3...v5.0.2)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-28 07:52:59 +00:00
Tim Schaub
76333f72ba Merge pull request #10204 from tschaub/doc-layout
Avoid scrolling over navigation
2019-10-27 17:05:39 -06:00
Tim Schaub
3ac08bcbef Merge pull request #10205 from tschaub/inline-default
Add the default to the type column
2019-10-27 17:04:17 -06:00
Andreas Hocevar
15a64e657d Merge pull request #10178 from TieSKey/master
Make ol/interaction/Select#handleEvent return always true.
2019-10-27 22:58:39 +01:00
TigerShark
4f0431edd5 Restore pointerMove in condition.js and example.
Wrongly removed on previous commit as pointed by @ahocevar.
2019-10-27 11:45:53 -03:00
Tim Schaub
0f87df0ade Add the default to the type column 2019-10-26 17:27:04 -06:00
Tim Schaub
1c21853269 Avoid scrolling over navigation 2019-10-26 16:56:14 -06:00
Tim Schaub
1cd9256771 Merge pull request #10203 from tschaub/exempt-milestones
Keep issues assigned to a milestone from going stale
2019-10-26 16:29:28 -06:00
Tim Schaub
fcb95ced5f Merge pull request #10200 from tschaub/carbon
Carbon add on API docs
2019-10-26 13:11:21 -06:00
Tim Schaub
ffab886964 Keep issues assigned to a milestone from going stale 2019-10-26 13:10:16 -06:00
Tim Schaub
27cbbaf97b Less jumpy 2019-10-26 12:30:38 -06:00
Tim Schaub
c0831cc64b Carbon add on API docs 2019-10-26 11:11:04 -06:00
Olivier Guyot
c40263c38b Merge pull request #10196 from jahow/webgl-add-string-operators
Webgl / add support for string and arrays in style expressions
2019-10-25 17:27:39 +02:00
Frederic Junod
daaf9695ff Add assertNumbers function in ol/style/expressions 2019-10-25 15:46:49 +02:00
Andreas Hocevar
5d358a7367 Merge pull request #10197 from ahocevar/restore-node8-compatibility
Restore node v8 compatibility
2019-10-25 15:21:23 +02:00
Andreas Hocevar
80abb8fb15 Merge pull request #10195 from mike-000/patch-2
Treat hsl/hsla as named colors
2019-10-25 15:17:30 +02:00
Olivier Guyot
e63bb45e6f Webgl points layer / allow disabling hit detection
Having hit detection enabled has an overhead as it means
continously generating additional render instructions and rendering
to an offscreen canvas
2019-10-25 15:11:37 +02:00
Andreas Hocevar
edc02dbde2 Restore node v8 compatibility 2019-10-25 15:11:11 +02:00
Olivier Guyot
4462608991 Expressions / adds color and array conversion operators
Also fixes existing error throwingtests which were essentially doing nothing.
2019-10-25 14:55:44 +02:00
Olivier Guyot
ff3cc9b4d0 Expressions / renamed operator pow to ^
To be more in line with Mapbox style spec
2019-10-25 14:55:44 +02:00
Olivier Guyot
a844691d7b Added new example styles in the webgl points layer example 2019-10-25 14:55:44 +02:00
Olivier Guyot
acf973751b Webgl / added time and resolution as default uniforms
Also added the `zoom` and `resolution` style operators
2019-10-25 14:55:44 +02:00
Olivier Guyot
e843b2cfc0 Expressions / adaptation and cleanup after stretch operator removal
The examples have been fixed as well.
2019-10-25 14:55:44 +02:00
Olivier Guyot
719495587c Expressions / rework the interpolate operator
This operator is now able to map numbers to output ranges as well as colors,
making the stretch operator unnecessary. Also allows giving multiple stops,
like in Mapbox style spec.
2019-10-25 14:55:44 +02:00
Olivier Guyot
9e010631c1 Expressions / refactor operators to avoid linting errors
Previously the utilities used the Operators dict before its definition.
2019-10-25 14:55:44 +02:00
Olivier Guyot
a64f2eb720 Update the icon-sprite-webgl example to use a WebGLPoints layer 2019-10-25 14:55:44 +02:00
Olivier Guyot
d643951a74 Shader Builder / add option to generate hit detection shaders 2019-10-25 14:55:44 +02:00
Olivier Guyot
a39f751981 Shader Builder / adapt logic & test to the new expression types
Also fixes a sneaky bug where the two last texture coordinates were inverted.
2019-10-25 14:55:44 +02:00
Olivier Guyot
fc98704bcb Expressions / adds a test for a complex combination of operators 2019-10-25 14:55:44 +02:00
Olivier Guyot
27c530ec64 Expressions / introduce the match operator
This operator allows mapping from input values to output values of different
kinds and handles variable arguments count.
2019-10-25 14:55:44 +02:00
Olivier Guyot
e3f7d29bb2 Expressions / add utilities for using strings in GLSL & more type checking
It is now possible to specify a type hint when parsing an expression, which
helps determine the output value type.

When no single output type can be inferred, an error is thrown.

For strings, every literal value will be replaced by a number and a map of
these associations will be kept in the parsing context, which is passed
recursively.
2019-10-25 14:55:44 +02:00
Olivier Guyot
44347a9ed3 Adapt the icon-sprite-webgl example to the new expressions module 2019-10-25 14:55:44 +02:00
Olivier Guyot
31dae929f5 ShaderBuilder / adapt logic & tests to new expressions module 2019-10-25 14:55:44 +02:00
Olivier Guyot
5712792772 Expressions / add more tests for conversion to GLSL 2019-10-25 14:55:44 +02:00
Olivier Guyot
bcf7649b9a Expressions / store the variables & attributes in the context 2019-10-25 14:55:44 +02:00
Olivier Guyot
7e4119d580 Expressions / restored the parsing logic with better type checking
Converting expressions to GLSL is now done in ol/style/expressions, with the
same logic as before in ol/webgl/ShaderBuilder.
2019-10-25 14:55:44 +02:00
Olivier Guyot
72903d6454 Expressions / added operator declarations & type checking logic 2019-10-25 14:55:44 +02:00
Olivier Guyot
35af80b433 Style / add an ol/style/expressions module
This module will contain the utilities and operator declarations
for literal style expressions, boh for type checking and parsing
2019-10-25 14:55:44 +02:00
mike-000
ad6d91b9ae Treat hsl/hsla as named colors
hsl/hsla values produce an assertion error in fromStringInternal_  This simplest solution is to treat them as named colors.
2019-10-25 13:31:18 +01:00
Jakob Gerstmayer
37cbb8e43e fixed spacing issues 2019-10-25 12:06:15 +02:00
Jakob Gerstmayer
e0329febc4 Added check to make sure extent array has four objects. 2019-10-25 11:43:18 +02:00
Andreas Hocevar
cff00f1c3b Merge pull request #10188 from ahocevar/renderevent-docs
Document that map render events do not have a context set
2019-10-24 17:14:40 +02:00
Andreas Hocevar
61c4fa8cd6 Document that map render events do not have a context set 2019-10-24 16:32:04 +02:00
Andreas Hocevar
cc24ec1be6 Set touch-action to allow page scrolling 2019-10-24 16:18:40 +02:00
Frédéric Junod
2b0256140e Merge pull request #10184 from fredj/heatmap_weight
Clamp the weight value between 0 and 1
2019-10-24 15:34:17 +02:00
Frederic Junod
88bbb8c1ae Clamp the weight value between 0 and 1 2019-10-24 13:52:59 +02:00
mike-000
f47fa8b407 Add crossOrigin option for icons
Make the crossOrigin setting for icons configurable to avoid errors when KML files reference images when are not CORS enabled
Pass scope in readPlacemark_
and to handle IconStyle in a placemark style map

Test crossOrigin option for icons
Add tests for IconStyle in style maps and shared styles
2019-10-24 11:04:47 +01:00
roemhildtg
9908433cfd add tags to example docs
#10022
2019-10-23 22:06:46 -05:00
TigerShark
e60dc93e0e Make ol/interaction/Select#handleEvent return always true.
Previously it was returning true only if the event was a pointerMove
which prevented multiple Select objects with other event types from
working.
2019-10-23 17:30:56 -03:00
Tim Schaub
599835e818 Merge pull request #10175 from tschaub/untagged
Remove description from type tag
2019-10-23 13:57:15 -06:00
Tim Schaub
afa688273b Merge pull request #10176 from tschaub/toggle
Avoid toggling when clicking the title
2019-10-23 13:56:58 -06:00
Tim Schaub
6b4e00e6ac Remove description from type tag 2019-10-23 10:27:56 -06:00
Tim Schaub
10379920d2 Avoid toggling when clicking the title 2019-10-23 10:26:21 -06:00
Andreas Hocevar
ebae0386bd Merge pull request #10172 from ahocevar/apidoc-geometry-inherited
Ensure inherited docs are shown
2019-10-23 15:40:08 +02:00
Andreas Hocevar
bf7af07657 Ensure inherited docs are shown 2019-10-23 14:40:27 +02:00
Andreas Hocevar
327fe11344 Merge pull request #10171 from mike-000/patch-1
Open default attributions links in a new tab or window
2019-10-23 13:48:05 +02:00
Andreas Hocevar
319efedb14 Merge pull request #10047 from KaiVolland/apidoc-changes
Apidoc changes
2019-10-23 13:41:03 +02:00
Andreas Hocevar
4fe16d0281 Tidy up navigation 2019-10-23 13:26:56 +02:00
mike-000
ce8b63a67e Open default attributions links in new tab/window 2019-10-23 12:10:55 +01:00
mike-000
6b25f713cd Open default attributions links in new tab/window 2019-10-23 12:08:40 +01:00
mike-000
4b79818797 Open default attributions links in new tab/window 2019-10-23 12:03:01 +01:00
Andreas Hocevar
062614388c Merge pull request #10161 from ahocevar/vectorimage-getfeatures
Implement getFeatures() for ol/layer/VectorImage
2019-10-23 11:26:08 +02:00
Olivier Guyot
8c5be52462 Merge pull request #10168 from jahow/webgl-style-add-filter
Webgl / Add support for filtering and color interpolation in style expressions
2019-10-23 09:45:16 +02:00
Frédéric Junod
b6d694050e Merge pull request #10170 from openlayers/select-feature_html
Add back html from select-features example
2019-10-23 09:24:43 +02:00
Olivier Guyot
fc555241ea ShaderBuilder / simplify check/parse code a bit 2019-10-23 09:22:12 +02:00
Frederic Junod
33b0f88771 Add back html from select-features example
The example was removed and added back in 38124d770b but the html file was missing
2019-10-23 09:03:19 +02:00
Olivier Guyot
1fe5a68e16 Fix the triangles style in the wbegl-points-layer example 2019-10-22 23:27:26 +02:00
Olivier Guyot
948003ff27 Rewrite to filter-points-webgl example to use a Webgl points layer
The demonstrated features have been recreated using a literal
style (filtering, pulse animation).
2019-10-22 23:17:00 +02:00
Olivier Guyot
d837166a1b Literal Style / add new math operators 2019-10-22 23:17:00 +02:00
Olivier Guyot
c659c05de8 ShaderBuilder / fix stretch operator GLSL expression 2019-10-22 23:17:00 +02:00
Olivier Guyot
485ade42b5 Literal Style / add support for color interpolation 2019-10-22 23:17:00 +02:00
Olivier Guyot
85c3aae454 ShaderBuilder / add support for color interpolation in parse 2019-10-22 23:17:00 +02:00
Olivier Guyot
a29fc016f5 ShaderBuilder / formatColor/Array utilities now output vecX(...) 2019-10-22 23:17:00 +02:00
Olivier Guyot
19eadaea24 Shader Builder / add type checking in expressions parsing
All expressions will now be type checked before actually being parsed.
2019-10-22 23:17:00 +02:00
Olivier Guyot
b8e8d30df0 Shader Builder / add utilities for checking an expression type
Type checking is done either against a literal value (number, string...)
or against the operator in case of an expression.

Sometimes it is not possible to infer only one type, for example
the value 'transparent' could either be a color or a string. This
is covered by the fact that all operators expect exactly one type
for their arguments.
2019-10-22 23:17:00 +02:00
Olivier Guyot
f43637cc33 Shader Builder / support strings in formatColor 2019-10-22 23:17:00 +02:00
Olivier Guyot
56faf4c3ad Color / add an isStringColor utility function 2019-10-22 23:17:30 +02:00
Olivier Guyot
a0b271a812 Literal Style / add support for variables in the style
These variables are accessed using the `var` operator, and are meant
to be mutated directly in the style object. When doing so,
the new value will always be used for the render.

This is intended to be used for modifying the style through external
parameters such as an input field, a slider, mouse position etc.
2019-10-22 23:17:00 +02:00
Olivier Guyot
a1c00744d1 Webgl points renderer / throw if shader compilation fails
This should only happen if providing handcrafted shaders to the renderer.
2019-10-22 23:17:00 +02:00
Olivier Guyot
94b8cf6af3 Webgl / add support for a time operator in literal styles
This required adding `u_time` as one of the default uniforms provided by the
webgl helper.
2019-10-22 23:17:23 +02:00
Olivier Guyot
0c0c8c5d56 Literal Style / add support for a filter property 2019-10-22 23:17:00 +02:00
Andreas Hocevar
fef4d4e9b7 Merge pull request #10093 from mike-000/patch-3
Set label text for Graticule option styles
2019-10-22 15:23:01 +02:00
Tim Schaub
8e4fbe3e74 Merge pull request #10160 from ejn/minor/improve-test-10158
Improve test in case of async call
2019-10-22 07:06:36 -06:00
mike-000
110c17cf9e Remove label style caches 2019-10-22 12:04:06 +01:00
Olivier Guyot
e38250ee14 ShaderBuilder / add fragment discard expression in shader params 2019-10-22 11:39:30 +02:00
Andreas Hocevar
39012a58f8 Implement getFeatures() for ol/layer/VectorImage 2019-10-22 11:27:26 +02:00
Olivier Guyot
7b66b294a8 ShaderBuilder / attempt to clarify the way attributes are handled in parseSymbolStyle 2019-10-22 11:18:39 +02:00
Olivier Guyot
9ee93cd2cf ShaderBuilder / refactoring to use an actual builder pattern
There is now a ShaderBuilder class with chainable methods
to specify more easily the contents of the final shaders.
This is to avoid passing around large objects to different functions,
and allow for a richer API.

The documentation has also been corrected and clarified.
2019-10-22 11:12:06 +02:00
Edward Nash
ed18310136 Improve test in case of async call 2019-10-22 10:21:52 +02:00
Andreas Hocevar
a3c137cff1 Merge pull request #10159 from ejn/bugfix/10158-target-name-collision
Fix target name collision in event.Target and Control
2019-10-22 09:53:19 +02:00
Edward Nash
9eb4816b27 Fix property name collision target_ with Control
* As described in #10158, Control uses the property target_ for
   a custom parent HTMLElement, leading to Events on the Control being
   dispatched with that as the target and not the Control itself.

 * Solved by renaming the target_ property on Target to eventTarget_
2019-10-22 09:37:05 +02:00
Edward Nash
ee653a8e0d Add regression test for event target on Control
* Check possible name collision of target element with EventTarget
2019-10-22 09:37:05 +02:00
mike-000
7edd10d66f Test that label text is set in styles 2019-10-21 16:00:54 +01:00
Frédéric Junod
e0cab3d3ba Merge pull request #10157 from openlayers/dependabot/npm_and_yarn/karma-coverage-istanbul-reporter-2.1.0
Bump karma-coverage-istanbul-reporter from 2.0.5 to 2.1.0
2019-10-21 16:01:30 +02:00
Frédéric Junod
34ed3c684e Merge pull request #10155 from openlayers/dependabot/npm_and_yarn/types/pbf-3.0.2
Bump @types/pbf from 3.0.1 to 3.0.2
2019-10-21 15:42:55 +02:00
Frédéric Junod
d0811ea286 Merge pull request #10153 from openlayers/dependabot/npm_and_yarn/yargs-14.2.0
Bump yargs from 14.0.0 to 14.2.0
2019-10-21 15:42:37 +02:00
Frédéric Junod
54c5330203 Merge pull request #10154 from openlayers/dependabot/npm_and_yarn/babel/core-7.6.4
Bump @babel/core from 7.4.4 to 7.6.4
2019-10-21 15:42:03 +02:00
dependabot-preview[bot]
09768c6634 Bump karma-coverage-istanbul-reporter from 2.0.5 to 2.1.0
Bumps [karma-coverage-istanbul-reporter](https://github.com/mattlewis92/karma-coverage-istanbul-reporter) from 2.0.5 to 2.1.0.
- [Release notes](https://github.com/mattlewis92/karma-coverage-istanbul-reporter/releases)
- [Changelog](https://github.com/mattlewis92/karma-coverage-istanbul-reporter/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mattlewis92/karma-coverage-istanbul-reporter/compare/v2.0.5...v2.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 13:33:34 +00:00
dependabot-preview[bot]
dfdb498d0d Bump @types/pbf from 3.0.1 to 3.0.2
Bumps [@types/pbf](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pbf) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/pbf)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 13:32:16 +00:00
dependabot-preview[bot]
d1aec83ca2 Bump @babel/core from 7.4.4 to 7.6.4
Bumps [@babel/core](https://github.com/babel/babel) from 7.4.4 to 7.6.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/compare/v7.4.4...v7.6.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 13:31:44 +00:00
dependabot-preview[bot]
2937513cb3 Bump yargs from 14.0.0 to 14.2.0
Bumps [yargs](https://github.com/yargs/yargs) from 14.0.0 to 14.2.0.
- [Release notes](https://github.com/yargs/yargs/releases)
- [Changelog](https://github.com/yargs/yargs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yargs/yargs/compare/v14.0.0...v14.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 13:31:06 +00:00
Frédéric Junod
b46e985af0 Merge pull request #10151 from openlayers/dependabot/npm_and_yarn/rollup-plugin-babel-4.3.3
Bump rollup-plugin-babel from 4.3.2 to 4.3.3
2019-10-21 15:05:07 +02:00
dependabot-preview[bot]
e50662f0a1 Bump rollup-plugin-babel from 4.3.2 to 4.3.3
Bumps [rollup-plugin-babel](https://github.com/rollup/rollup-plugin-babel) from 4.3.2 to 4.3.3.
- [Release notes](https://github.com/rollup/rollup-plugin-babel/releases)
- [Changelog](https://github.com/rollup/rollup-plugin-babel/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup-plugin-babel/compare/v4.3.2...v4.3.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 12:22:12 +00:00
Frédéric Junod
bcdb191de2 Merge pull request #10148 from openlayers/dependabot/npm_and_yarn/rollup-plugin-node-resolve-5.2.0
Bump rollup-plugin-node-resolve from 5.0.0 to 5.2.0
2019-10-21 14:19:56 +02:00
dependabot-preview[bot]
775bf82631 Bump rollup-plugin-node-resolve from 5.0.0 to 5.2.0
Bumps [rollup-plugin-node-resolve](https://github.com/rollup/rollup-plugin-node-resolve) from 5.0.0 to 5.2.0.
- [Release notes](https://github.com/rollup/rollup-plugin-node-resolve/releases)
- [Changelog](https://github.com/rollup/rollup-plugin-node-resolve/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup-plugin-node-resolve/compare/v5.0.0...v5.2.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 12:06:29 +00:00
Frédéric Junod
fc9123947d Merge pull request #10150 from openlayers/dependabot/npm_and_yarn/copy-webpack-plugin-5.0.4
Bump copy-webpack-plugin from 5.0.3 to 5.0.4
2019-10-21 14:06:22 +02:00
Frédéric Junod
636c65da69 Merge pull request #10149 from openlayers/dependabot/npm_and_yarn/rbush-3.0.1
Bump rbush from 3.0.0 to 3.0.1
2019-10-21 14:05:08 +02:00
Frédéric Junod
adcbd0bb50 Merge pull request #10147 from openlayers/dependabot/npm_and_yarn/rollup-1.25.1
Bump rollup from 1.12.0 to 1.25.1
2019-10-21 14:04:18 +02:00
dependabot-preview[bot]
89c0eaef8d Bump copy-webpack-plugin from 5.0.3 to 5.0.4
Bumps [copy-webpack-plugin](https://github.com/webpack-contrib/copy-webpack-plugin) from 5.0.3 to 5.0.4.
- [Release notes](https://github.com/webpack-contrib/copy-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/copy-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/copy-webpack-plugin/compare/v5.0.3...v5.0.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 11:55:42 +00:00
dependabot-preview[bot]
889eef66c1 Bump rbush from 3.0.0 to 3.0.1
Bumps [rbush](https://github.com/mourner/rbush) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/mourner/rbush/releases)
- [Commits](https://github.com/mourner/rbush/compare/v3.0.0...v3.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 11:55:03 +00:00
dependabot-preview[bot]
de851e9b29 Bump rollup from 1.12.0 to 1.25.1
Bumps [rollup](https://github.com/rollup/rollup) from 1.12.0 to 1.25.1.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v1.12.0...v1.25.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-10-21 11:53:47 +00:00
Andreas Hocevar
cb6b716b98 Merge pull request #10145 from openlayers/greenkeeper/handlebars-4.4.5
Greenkeeper/handlebars 4.4.5
2019-10-21 12:02:35 +02:00
greenkeeper[bot]
2980a0a168 chore(package): update lockfile package-lock.json 2019-10-20 21:11:28 +00:00
greenkeeper[bot]
829aac1860 chore(package): update handlebars to version 4.4.5
Closes #10081
2019-10-20 21:11:23 +00:00
Andreas Hocevar
3d351a53e6 Merge pull request #10142 from ahocevar/fix-tilechange-events
Fix tilechange events
2019-10-19 09:06:12 +02:00
Tim Schaub
a0ceebfb2f Merge pull request #10132 from openlayers/greenkeeper/webpack-4.41.2
Update webpack to the latest version 🚀
2019-10-18 21:46:42 -06:00
Tim Schaub
a9d93fe151 Merge pull request #10143 from openlayers/greenkeeper/mocha-6.2.2
Update mocha to the latest version 🚀
2019-10-18 21:46:17 -06:00
greenkeeper[bot]
b4257779f1 chore(package): update lockfile package-lock.json 2019-10-18 21:17:40 +00:00
greenkeeper[bot]
0f3778ce00 chore(package): update mocha to version 6.2.2 2019-10-18 21:17:31 +00:00
Andreas Hocevar
36a366bfeb Do not stop event propagation in prepareTile 2019-10-18 20:50:01 +02:00
Olivier Guyot
95bcb574b7 Merge pull request #10138 from wirdehall/master
Should be able to ovveride defaultvalue of style in selection.
2019-10-18 09:57:55 +02:00
wirdehall
bd5510b62a Updated docs for Select style.
Updated docs for Select style with new option of false.
2019-10-18 00:20:05 +02:00
wirdehall
a34e7ddd99 Should be able to ovveride defaultvalue of style in selection.
null or false should be able to prevent overriding the style.
As discussed here: https://github.com/openlayers/openlayers/issues/10131
2019-10-17 15:05:30 +02:00
Tim Schaub
1de0d09acb Merge pull request #10135 from mike-000/patch-1
Revise the description of applyTransform for geometries
2019-10-16 12:54:32 -06:00
mike-000
2b1417df3f Revise the description of applyTransform
Revise the description of applyTransform and transformFn (loosely based on that used in ol/extent) to avoid any misunderstanding that the function is called inside a forEach method.
2019-10-16 13:59:38 +01:00
Andreas Hocevar
cfac31799b Merge pull request #10133 from ahocevar/unlisten-source-change
Properly unregister source tile change listeners
2019-10-15 23:16:18 +02:00
Andreas Hocevar
61fc71c30f Properly unregister source tile change listeners 2019-10-15 21:23:37 +02:00
greenkeeper[bot]
9f3052211b chore(package): update lockfile package-lock.json 2019-10-15 13:46:36 +00:00
greenkeeper[bot]
4450981b0d chore(package): update webpack to version 4.41.2 2019-10-15 13:46:30 +00:00
Andreas Hocevar
54884314ee Merge pull request #10094 from ahocevar/immediate-hitdetection
New Layer#getFeatures method with fast hit detection
2019-10-14 22:21:08 +02:00
Frédéric Junod
a75ea2cc6b Merge pull request #10117 from openlayers/greenkeeper/pbf-3.2.1
Update pbf to the latest version 🚀
2019-10-14 15:35:22 +02:00
Frédéric Junod
aba93e7b9c Merge pull request #10104 from openlayers/attribution_font_size
Remove font sizing from the attribution control
2019-10-14 15:28:02 +02:00
Andreas Hocevar
90d6a6f441 Move hit detection to its own module 2019-10-14 14:40:06 +02:00
Andreas Hocevar
7454df0c2f Resolve empty when tile not loaded yet 2019-10-14 14:13:57 +02:00
Frederic Junod
a126702e95 Add back max-width for the attribution control in examples 2019-10-14 09:24:18 +02:00
Tim Schaub
dd788b406c Merge pull request #10114 from openlayers/greenkeeper/coveralls-3.0.7
Update coveralls to the latest version 🚀
2019-10-13 08:02:53 -06:00
Tim Schaub
c97a26ae26 Merge pull request #10116 from openlayers/greenkeeper/webpack-4.41.1
Update webpack to the latest version 🚀
2019-10-13 08:02:06 -06:00
mike-000
937f7f613e Resolve constraints using anchor
Resolve constraints using anchor if view state is the result of cancelling an animation with anchor
2019-10-12 21:13:34 +01:00
Tim Schaub
f475387d39 Merge pull request #10108 from notnotse/issue/9814-fix-documentation-for-handlemoveevent
Fix documentation for handleMoveEvent
2019-10-12 08:14:39 -06:00
Tim Schaub
5af4dfa623 Merge pull request #10118 from mike-000/patch-7
Document the OSM crossOrigin default
2019-10-12 08:13:17 -06:00
Andreas Hocevar
e3666f18da Merge pull request #10112 from ahocevar/rendertile-no-error
No ERROR state for render tiles
2019-10-11 21:52:12 +02:00
mike-000
046b78cca7 Document the OSM crossOrigin default 2019-10-11 18:16:19 +01:00
greenkeeper[bot]
b349058c58 chore(package): update lockfile package-lock.json 2019-10-11 14:50:07 +00:00
greenkeeper[bot]
8a53947f44 fix(package): update pbf to version 3.2.1 2019-10-11 14:50:02 +00:00
Olivier Guyot
9acba8f82a Merge pull request #10115 from jahow/improve-heatmap-test
Improve Heatmap hit detection test
2019-10-11 16:40:07 +02:00
Andreas Hocevar
0cb9d73848 No ERROR state for render tiles 2019-10-11 14:58:22 +02:00
greenkeeper[bot]
7069e2688d chore(package): update lockfile package-lock.json 2019-10-11 12:26:52 +00:00
greenkeeper[bot]
0c72fce1ff chore(package): update webpack to version 4.41.1 2019-10-11 12:26:47 +00:00
Olivier Guyot
87414256e2 Heatmap / use worker events instead of timeout for test 2019-10-11 14:06:27 +02:00
greenkeeper[bot]
9e7e15ed5c chore(package): update lockfile package-lock.json 2019-10-10 23:19:36 +00:00
greenkeeper[bot]
68850c7ddc chore(package): update coveralls to version 3.0.7 2019-10-10 23:19:29 +00:00
Frédéric Junod
f277206631 Merge pull request #10111 from mike-000/patch-6
Correct the defaulting of ol/source/VectorTile maxZoom
2019-10-10 16:05:51 +02:00
mike-000
2a2cc40d42 Correct the defaulting of maxZoom
Only default if undefined as maxZoom: 0 should be valid as it is for all other tile sources
2019-10-10 14:08:10 +01:00
Bobo Häggström
395b59c01e Fix documentation for handleMoveEvent
This fixes #9814
2019-10-10 10:40:47 +02:00
Frédéric Junod
58b4b6eeea Merge pull request #10102 from KlausBenndorf/type-fixes
Cosmetic type fixes
2019-10-10 09:43:53 +02:00
Simon Seyock
5b1106ac23 some type corrections 2019-10-10 09:07:35 +02:00
Frédéric Junod
2483fbd26b Merge pull request #10107 from mike-000/patch-5
Update Vector Tile Info example test for no features
2019-10-10 08:47:40 +02:00
Frédéric Junod
736ef88473 Merge pull request #10097 from fredj/text-align
Align layer canvas to the left
2019-10-10 08:31:36 +02:00
Andreas Hocevar
873999ec7d Merge pull request #10105 from openlayers/greenkeeper/jsdoc-plugin-typescript-2.0.4
Update jsdoc-plugin-typescript to the latest version 🚀
2019-10-09 20:19:51 +02:00
mike-000
cbf0ecfd75 Update test for no features 2019-10-09 18:25:04 +01:00
Frederic Junod
97ded06ee4 Remove attribution control custom style in examples 2019-10-09 16:48:19 +02:00
greenkeeper[bot]
782ff6e9f5 chore(package): update lockfile package-lock.json 2019-10-09 14:45:37 +00:00
greenkeeper[bot]
dc2137b622 chore(package): update jsdoc-plugin-typescript to version 2.0.4 2019-10-09 14:45:32 +00:00
Frederic Junod
c5eb80e610 Remove font sizing from the attribution control 2019-10-09 14:19:24 +02:00
Olivier Guyot
d1ee300968 Merge pull request #10101 from jahow/add-heatmap-hit-detection
Add hit detection support on the Heatmap layer
2019-10-08 14:45:53 +02:00
Olivier Guyot
b44a6ab26a Heatmap / add hit detection shaders 2019-10-08 13:27:31 +02:00
Kai Volland
3cb0aae796 Removes modulelink 2019-10-08 10:12:29 +02:00
Kai Volland
490bef8d40 Readds modules without classes to navigation 2019-10-08 10:12:12 +02:00
Andreas Hocevar
f477fc18f2 Add tests 2019-10-08 08:23:38 +02:00
Andreas Hocevar
3c243b0236 getFeature() for VectorTile layer 2019-10-08 08:23:38 +02:00
Andreas Hocevar
e9785317eb Move hit detection code to Immediate.js 2019-10-08 08:23:38 +02:00
Andreas Hocevar
315695eeb8 New Layer#getFeatures method with fast hit detection for VectorLayer 2019-10-08 08:23:38 +02:00
Frederic Junod
f20db28901 Align layer canvas to the left
So that the position is not affected by the `text-align` css rule.
2019-10-07 13:48:32 +02:00
Frederic Junod
2ce14a50a1 Add a rendering test case for text-align css property 2019-10-07 13:25:04 +02:00
Andreas Hocevar
057cc92716 Merge pull request #10087 from petrsloup/vector-tiles-4326-example
Add example showing vector tiles in EPSG:4326
2019-10-07 10:07:30 +02:00
Kai Volland
5786121cd5 Adapts linktext to module 2019-10-07 09:50:14 +02:00
mike-000
b727e4f45e Set label text for option styles
Set label text for lonLabelStyle and latLabelStyle options
2019-10-04 22:00:20 +01:00
Andreas Hocevar
fb9673465a Simpler way to use EPSG:4326 as projection 2019-10-04 14:07:13 +02:00
Andreas Hocevar
babdce4819 Merge pull request #10086 from petrsloup/update-mapbox-style-example
Update mapbox-style example
2019-10-03 20:39:47 +02:00
Petr Sloup
684e305bc8 Minor mapbox-style example docs update 2019-10-03 19:16:19 +02:00
Olivier Guyot
deb541791a Merge pull request #10083 from MoonE/example-webgl
webgl points layer example fixes
2019-10-03 17:43:22 +02:00
Maximilian Krög
db49842f63 Display error message instead of 'style not valid yet...' 2019-10-03 17:06:39 +02:00
Maximilian Krög
8fe8302dc2 Remove duplicate type definition for style 2019-10-03 15:45:35 +02:00
Maximilian Krög
b1a9f765fc Parse the style in the constructor.
This detects errors earlier and allows the caller to handle the thrown exception.
Remove assertion 65 as it should no longer be needed.
2019-10-03 14:36:48 +02:00
Petr Sloup
db583be0f9 Add example showing vector tiles in EPSG:4326 2019-10-03 13:00:47 +02:00
Maximilian Krög
d0cd1064ff Also check predefined styles for validity. 2019-10-03 03:02:58 +02:00
Maximilian Krög
b4a996e760 Catch errors in style definition
Do not replace the layer if the style is invalid.
Thrown errors are caught and the layer will not be changed.
2019-10-03 01:59:42 +02:00
Maximilian Krög
dee114d4c4 Guard against JSON.parse errors.
Also show successful style parse status after a style error was corrected
but it is the same style as previously.
2019-10-03 01:59:42 +02:00
Maximilian Krög
db34a338d6 Reset status message when selecting from select element. 2019-10-03 01:59:21 +02:00
Maximilian Krög
0eac5007e8 Reserve the height for the style parse messages. 2019-10-03 01:59:00 +02:00
Maximilian Krög
c1921a6b16 Preselect the 'circles' style in the select input
The text in the editor element already is from the circles style..
2019-10-03 01:57:49 +02:00
Maximilian Krög
dc28590cff Remove invalid option from style select
When this option was selected the text field contained 'undefined'
as it is not one of the predefined styles.
2019-10-03 01:48:45 +02:00
Frédéric Junod
3ab32ff744 Merge pull request #10076 from fredj/rm_typecast
Remove unnecessary typecast
2019-10-02 14:57:55 +02:00
Frederic Junod
daaaff5ac7 Remove unnecessary typecast
Remove typecast where typescript is able to correctly deduce the type.
2019-10-02 10:44:06 +02:00
Tim Schaub
fa0258a323 Merge pull request #10074 from mike-000/patch-2
Remove offsets from mouse position calculation
2019-10-01 09:29:47 -06:00
mike-000
4f83392b76 Remove offsets from mouse position calculation
and remove space
2019-10-01 15:55:30 +01:00
mike-000
8a04f5059d Remove offsets from mouse position calculation
Fixes #10073

Remove unneeded offsets from mouse position calculation as box position was centered in #9919
2019-10-01 15:47:36 +01:00
Frédéric Junod
92f70c225f Merge pull request #10072 from fredj/better_typing
Better typing
2019-10-01 15:27:27 +02:00
Frederic Junod
41b7893523 Mark properties as nullable 2019-10-01 10:47:07 +02:00
Frederic Junod
89becd4c6d Remove unused variables 2019-10-01 08:34:00 +02:00
Tim Schaub
7eb60fae23 Merge pull request #10070 from openlayers/release-v6.0.1
Changes for 6.0.1
2019-09-30 12:44:56 -06:00
Kai Volland
d08c0baff9 Introduces apidoc changes
- Removes modules from the apidoc navigation
- Adds a weight paramater to the search to be
more accurate on searchresults
2019-09-27 17:25:01 +02:00
Kai Volland
b045e4ee5b Removes unused *.less files 2019-09-27 17:19:19 +02:00
373 changed files with 20210 additions and 6070 deletions

View File

@@ -2,7 +2,7 @@ version: 2
jobs:
build:
docker:
- image: circleci/node:latest-browsers
- image: circleci/node:current-browsers
working_directory: ~/repo
@@ -11,7 +11,7 @@ jobs:
- restore_cache:
keys:
- v1-dependencies-{{ checksum "package.json" }}
- v1-dependencies-{{ checksum "package-lock.json" }}
- v1-dependencies-
- run:
@@ -21,7 +21,7 @@ jobs:
- save_cache:
paths:
- node_modules
key: v1-dependencies-{{ checksum "package.json" }}
key: v1-dependencies-{{ checksum "package-lock.json" }}
- run:
name: Run Tests

7
.dependabot/config.yml Normal file
View File

@@ -0,0 +1,7 @@
# See https://dependabot.com/docs/config-file/
version: 1
update_configs:
- package_manager: "javascript"
directory: "/"
update_schedule: "weekly"
version_requirement_updates: "increase_versions_if_necessary"

2
.github/stale.yml vendored
View File

@@ -8,6 +8,8 @@ exemptLabels:
- regression
- bug
- 'pull request accepted'
# Issues assigned to a milestone will not go stale
exemptMilestones: true
# 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

View File

@@ -41,29 +41,17 @@ See the following examples for more detail on bundling OpenLayers with your appl
* Using [Parcel](https://github.com/openlayers/ol-parcel)
* Using [Browserify](https://github.com/openlayers/ol-browserify)
## IntelliSense support and type checking for VS Code
## Sponsors
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.
OpenLayers appreciates contributions of all kinds. We especially want to thank our fiscal sponsors who contribute to ongoing project maintenance.
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.
![Pozi logo](./sponsor-logos/pozi.png)
> Pozi helps connect communities through spatial thinking.
> We love Openlayers and it forms a core part of our platform.
> https://pozi.com/ https://app.pozi.com/
See our [Open Collective](https://opencollective.com/openlayers/contribute/sponsors-214/checkout) page if you too are interested in becoming a regular sponsor.
## Supported Browsers

View File

@@ -1,5 +1,11 @@
## Upgrade notes
### v6.3.0
#### Vector source loading when extent crosses +/-180
Previously, when an extent crossed the date line, vector source loaders were called with an extent with 540 degrees of longitude. Now, two loader calls with the visible extent on both sides of the projection extent are issued. This should not require any application code changes, but may affect custom loaders.
### v6.0.0
#### Backwards incompatible changes
@@ -77,7 +83,7 @@ Generally, the responsibility of applying center/rotation/resolutions constraint
##### 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.
Previously, this options only constrained the view *center*. This behaviour can still be obtained by specifying `constrainOnlyCenter` 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.

View File

@@ -83,7 +83,7 @@ Generally, the responsibility of applying center/rotation/resolutions constraint
##### 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.
Previously, this options only constrained the view *center*. This behaviour can still be obtained by specifying `constrainOnlyCenter` 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.

86
changelog/v6.1.0.md Normal file
View File

@@ -0,0 +1,86 @@
# 6.1.0
With 47 pull requests, this release keeps up the momentum of the v6.x effort and brings several bug fixes, performance improvements and new features. In addition to that, we added some missing documentation to our API docs and gave them some usability improvements.
## New features
* A new, performance optimized hit detection API on the layer level, `Layer#getFeatures(pixel)` has been introduced. At this point it is implemented for vector, vector tile and image vector layers, and is recommended when performance is critical, e.g. for hit detection on mouseover.
* For the WebGLPoints layer, we made several additions to the style expressions system. This includes a `case` operator, support for array and string types, and type checking.
## List of all changes
* [#10214](https://github.com/openlayers/openlayers/pull/10214) - WebGL / Add 'case' operator for style expressions ([@jahow](https://github.com/jahow))
* [#10198](https://github.com/openlayers/openlayers/pull/10198) - WebGL renderer / use the specified loading strategy for the vector data ([@jahow](https://github.com/jahow))
* [#10212](https://github.com/openlayers/openlayers/pull/10212) - Add config file for dependabot ([@fredj](https://github.com/fredj))
* [#10187](https://github.com/openlayers/openlayers/pull/10187) - Set touch-action to allow native touch gestures ([@ahocevar](https://github.com/ahocevar))
* [#10194](https://github.com/openlayers/openlayers/pull/10194) - Added check to make sure extent array has four objects. ([@MrSoUndso](https://github.com/MrSoUndso))
* [#10204](https://github.com/openlayers/openlayers/pull/10204) - Avoid scrolling over navigation ([@tschaub](https://github.com/tschaub))
* [#10205](https://github.com/openlayers/openlayers/pull/10205) - Add the default to the type column ([@tschaub](https://github.com/tschaub))
* [#10178](https://github.com/openlayers/openlayers/pull/10178) - Make ol/interaction/Select#handleEvent return always true. ([@TieSKey](https://github.com/TieSKey))
* [#10203](https://github.com/openlayers/openlayers/pull/10203) - Keep issues assigned to a milestone from going stale ([@tschaub](https://github.com/tschaub))
* [#10200](https://github.com/openlayers/openlayers/pull/10200) - Carbon add on API docs ([@tschaub](https://github.com/tschaub))
* [#10196](https://github.com/openlayers/openlayers/pull/10196) - Webgl / add support for string and arrays in style expressions ([@jahow](https://github.com/jahow))
* [#10197](https://github.com/openlayers/openlayers/pull/10197) - Restore node v8 compatibility ([@ahocevar](https://github.com/ahocevar))
* [#10195](https://github.com/openlayers/openlayers/pull/10195) - Treat hsl/hsla as named colors ([@mike-000](https://github.com/mike-000))
* [#10188](https://github.com/openlayers/openlayers/pull/10188) - Document that map render events do not have a context set ([@ahocevar](https://github.com/ahocevar))
* [#10184](https://github.com/openlayers/openlayers/pull/10184) - Clamp the weight value between 0 and 1 ([@fredj](https://github.com/fredj))
* [#10175](https://github.com/openlayers/openlayers/pull/10175) - Remove description from type tag ([@tschaub](https://github.com/tschaub))
* [#10176](https://github.com/openlayers/openlayers/pull/10176) - Avoid toggling when clicking the title ([@tschaub](https://github.com/tschaub))
* [#10172](https://github.com/openlayers/openlayers/pull/10172) - Ensure inherited docs are shown ([@ahocevar](https://github.com/ahocevar))
* [#10171](https://github.com/openlayers/openlayers/pull/10171) - Open default attributions links in a new tab or window ([@mike-000](https://github.com/mike-000))
* [#10047](https://github.com/openlayers/openlayers/pull/10047) - Apidoc changes ([@KaiVolland](https://github.com/KaiVolland))
* [#10161](https://github.com/openlayers/openlayers/pull/10161) - Implement getFeatures() for ol/layer/VectorImage ([@ahocevar](https://github.com/ahocevar))
* [#10168](https://github.com/openlayers/openlayers/pull/10168) - Webgl / Add support for filtering and color interpolation in style expressions ([@jahow](https://github.com/jahow))
* [#10170](https://github.com/openlayers/openlayers/pull/10170) - Add back html from select-features example ([@openlayers](https://github.com/openlayers))
* [#10093](https://github.com/openlayers/openlayers/pull/10093) - Set label text for Graticule option styles ([@mike-000](https://github.com/mike-000))
* [#10160](https://github.com/openlayers/openlayers/pull/10160) - Improve test in case of async call ([@ejn](https://github.com/ejn))
* [#10159](https://github.com/openlayers/openlayers/pull/10159) - Fix target name collision in event.Target and Control ([@ejn](https://github.com/ejn))
* [#10142](https://github.com/openlayers/openlayers/pull/10142) - Fix tilechange events ([@ahocevar](https://github.com/ahocevar))
* [#10138](https://github.com/openlayers/openlayers/pull/10138) - Should be able to ovveride defaultvalue of style in selection. ([@wirdehall](https://github.com/wirdehall))
* [#10135](https://github.com/openlayers/openlayers/pull/10135) - Revise the description of applyTransform for geometries ([@mike-000](https://github.com/mike-000))
* [#10133](https://github.com/openlayers/openlayers/pull/10133) - Properly unregister source tile change listeners ([@ahocevar](https://github.com/ahocevar))
* [#10094](https://github.com/openlayers/openlayers/pull/10094) - New Layer#getFeatures method with fast hit detection ([@ahocevar](https://github.com/ahocevar))
* [#10104](https://github.com/openlayers/openlayers/pull/10104) - Remove font sizing from the attribution control ([@openlayers](https://github.com/openlayers))
* [#10108](https://github.com/openlayers/openlayers/pull/10108) - Fix documentation for handleMoveEvent ([@notnotse](https://github.com/notnotse))
* [#10118](https://github.com/openlayers/openlayers/pull/10118) - Document the OSM crossOrigin default ([@mike-000](https://github.com/mike-000))
* [#10112](https://github.com/openlayers/openlayers/pull/10112) - No ERROR state for render tiles ([@ahocevar](https://github.com/ahocevar))
* [#10115](https://github.com/openlayers/openlayers/pull/10115) - Improve Heatmap hit detection test ([@jahow](https://github.com/jahow))
* [#10111](https://github.com/openlayers/openlayers/pull/10111) - Correct the defaulting of ol/source/VectorTile maxZoom ([@mike-000](https://github.com/mike-000))
* [#10102](https://github.com/openlayers/openlayers/pull/10102) - Cosmetic type fixes ([@KlausBenndorf](https://github.com/KlausBenndorf))
* [#10107](https://github.com/openlayers/openlayers/pull/10107) - Update Vector Tile Info example test for no features ([@mike-000](https://github.com/mike-000))
* [#10097](https://github.com/openlayers/openlayers/pull/10097) - Align layer canvas to the left ([@fredj](https://github.com/fredj))
* [#10101](https://github.com/openlayers/openlayers/pull/10101) - Add hit detection support on the Heatmap layer ([@jahow](https://github.com/jahow))
* [#10087](https://github.com/openlayers/openlayers/pull/10087) - Add example showing vector tiles in EPSG:4326 ([@petrsloup](https://github.com/petrsloup))
* [#10086](https://github.com/openlayers/openlayers/pull/10086) - Update mapbox-style example ([@petrsloup](https://github.com/petrsloup))
* [#10083](https://github.com/openlayers/openlayers/pull/10083) - webgl points layer example fixes ([@MoonE](https://github.com/MoonE))
* [#10076](https://github.com/openlayers/openlayers/pull/10076) - Remove unnecessary typecast ([@fredj](https://github.com/fredj))
* [#10074](https://github.com/openlayers/openlayers/pull/10074) - Remove offsets from mouse position calculation ([@mike-000](https://github.com/mike-000))
* [#10072](https://github.com/openlayers/openlayers/pull/10072) - Better typing ([@fredj](https://github.com/fredj))
<details>
<summary>Dependency Updates</summary>
* [#10208](https://github.com/openlayers/openlayers/pull/10208) - Bump pixelmatch from 5.0.2 to 5.1.0 ([@openlayers](https://github.com/openlayers))
* [#10210](https://github.com/openlayers/openlayers/pull/10210) - Bump glob from 7.1.4 to 7.1.5 ([@openlayers](https://github.com/openlayers))
* [#10209](https://github.com/openlayers/openlayers/pull/10209) - Bump karma from 4.1.0 to 4.4.1 ([@openlayers](https://github.com/openlayers))
* [#10207](https://github.com/openlayers/openlayers/pull/10207) - Bump ol-mapbox-style from 5.0.0-beta.3 to 5.0.2 ([@openlayers](https://github.com/openlayers))
* [#10157](https://github.com/openlayers/openlayers/pull/10157) - Bump karma-coverage-istanbul-reporter from 2.0.5 to 2.1.0 ([@openlayers](https://github.com/openlayers))
* [#10155](https://github.com/openlayers/openlayers/pull/10155) - Bump @types/pbf from 3.0.1 to 3.0.2 ([@openlayers](https://github.com/openlayers))
* [#10153](https://github.com/openlayers/openlayers/pull/10153) - Bump yargs from 14.0.0 to 14.2.0 ([@openlayers](https://github.com/openlayers))
* [#10154](https://github.com/openlayers/openlayers/pull/10154) - Bump @babel/core from 7.4.4 to 7.6.4 ([@openlayers](https://github.com/openlayers))
* [#10151](https://github.com/openlayers/openlayers/pull/10151) - Bump rollup-plugin-babel from 4.3.2 to 4.3.3 ([@openlayers](https://github.com/openlayers))
* [#10148](https://github.com/openlayers/openlayers/pull/10148) - Bump rollup-plugin-node-resolve from 5.0.0 to 5.2.0 ([@openlayers](https://github.com/openlayers))
* [#10150](https://github.com/openlayers/openlayers/pull/10150) - Bump copy-webpack-plugin from 5.0.3 to 5.0.4 ([@openlayers](https://github.com/openlayers))
* [#10149](https://github.com/openlayers/openlayers/pull/10149) - Bump rbush from 3.0.0 to 3.0.1 ([@openlayers](https://github.com/openlayers))
* [#10147](https://github.com/openlayers/openlayers/pull/10147) - Bump rollup from 1.12.0 to 1.25.1 ([@openlayers](https://github.com/openlayers))
* [#10145](https://github.com/openlayers/openlayers/pull/10145) - Greenkeeper/handlebars 4.4.5 ([@openlayers](https://github.com/openlayers))
* [#10132](https://github.com/openlayers/openlayers/pull/10132) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#10143](https://github.com/openlayers/openlayers/pull/10143) - Update mocha to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#10117](https://github.com/openlayers/openlayers/pull/10117) - Update pbf to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#10114](https://github.com/openlayers/openlayers/pull/10114) - Update coveralls to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#10116](https://github.com/openlayers/openlayers/pull/10116) - Update webpack to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
* [#10105](https://github.com/openlayers/openlayers/pull/10105) - Update jsdoc-plugin-typescript to the latest version 🚀 ([@openlayers](https://github.com/openlayers))
</details>

17
changelog/v6.1.1.md Normal file
View File

@@ -0,0 +1,17 @@
# 6.1.1
Hot on the heels of OpenLayers 6.x, this patch release includes a few fixes for existing functionality. There should be nothing special needed to upgrade an application from 6.x to 6.1.1. See the 6.0.0 release notes for details on upgrading from an older version.
## Changes
* [#10235](https://github.com/openlayers/openlayers/pull/10235) - Various optimizations and fixes for the WebGL points renderer ([@jahow](https://github.com/jahow))
* [#10244](https://github.com/openlayers/openlayers/pull/10244) - Update to new eslint config with no-multi-assign ([@ahocevar](https://github.com/ahocevar))
* [#10243](https://github.com/openlayers/openlayers/pull/10243) - Store correct font value ([@ahocevar](https://github.com/ahocevar))
* [#10239](https://github.com/openlayers/openlayers/pull/10239) - Simpler container reuse ([@ahocevar](https://github.com/ahocevar))
* [#10237](https://github.com/openlayers/openlayers/pull/10237) - Fix layer zIndex test with falsy values ([@fredj](https://github.com/fredj))
* [#10221](https://github.com/openlayers/openlayers/pull/10221) - Fix for undefined Source ([@Kai-W](https://github.com/Kai-W))
* [#10228](https://github.com/openlayers/openlayers/pull/10228) - Use render tiles instead of source tiles for hit detection ([@ahocevar](https://github.com/ahocevar))
* [#10226](https://github.com/openlayers/openlayers/pull/10226) - ABORT reproj tiles properly ([@ahocevar](https://github.com/ahocevar))
* [#10224](https://github.com/openlayers/openlayers/pull/10224) - Vector tile hit detection fixes ([@ahocevar](https://github.com/ahocevar))
* [#10218](https://github.com/openlayers/openlayers/pull/10218) - Documentation fixes in ol/style/expressions ([@fredj](https://github.com/fredj))
* [#10216](https://github.com/openlayers/openlayers/pull/10216) - Update changelog script to recognize dependabot instead of greenkeeper ([@ahocevar](https://github.com/ahocevar))

196
changelog/v6.2.0.md Normal file
View File

@@ -0,0 +1,196 @@
# 6.2.0
With almost 90 pull requests, this release brings several new features, performance improvements and bug fixes. In addition to that, we once again improved the API documentation and the example pages.
## New features and improvements
* Mousewheel zooming now brings the same user experience as trackpad zooming. One click on the wheel no longer means a jump of a whole zoom level. Instead, depending on the speed of moving the wheel, the user has fine-grained control over zoom increments/decrements.
* Users now have better control over the initial map viewport when the aspect ratio of the map is different from a specified initial extent.
* Text rendering has been optimized for decluttering and improved for rotated views. This means lower memory footprint and no more blurry text when the map is rotated. **Note:** Whit this change, the label cache has been deprecated.
* A new `displacement` option for icon, circle and regular shape styles makes positioning of point symbolizers more flexible.
* Several improvements have been made to the KML parser for reading styles, bringing the rendered result much closer to Google Earth.
* OpenLayers is now less aggressive on stopping events and preventing event default behavior. This means that users have more control over events, making it easier to use interactive SVGs as layers and to embed maps on scrollable pages.
* Vector tile layers now have a `vector` render mode, which brings improved zooming experience for sources with not too much data.
* We replaced the previous pointer events polyfill to elm-pep, which should work better in web components.
## List of all changes
* [#10613](https://github.com/openlayers/openlayers/pull/10613) - Show KML name labels for Points in MultiGeometry ([@mike-000](https://github.com/mike-000))
* [#10632](https://github.com/openlayers/openlayers/pull/10632) - Draw interaction: Append coordinates to polygons and lines (reworked) ([@jahow](https://github.com/jahow))
* [#9565](https://github.com/openlayers/openlayers/pull/9565) - Make mousewheel zoom behave like trackpad zoom. ([@dbrnz](https://github.com/dbrnz))
* [#10580](https://github.com/openlayers/openlayers/pull/10580) - Fix KML Polystyle outline 0 conflict with Linestyle for linestrings ([@mike-000](https://github.com/mike-000))
* [#10612](https://github.com/openlayers/openlayers/pull/10612) - Make examples work in Internet Explorer ([@ahocevar](https://github.com/ahocevar))
* [#10587](https://github.com/openlayers/openlayers/pull/10587) - Adds option to View for using larger resolution value when clamping #10586 ([@jeremy-smith-maco](https://github.com/jeremy-smith-maco))
* [#10607](https://github.com/openlayers/openlayers/pull/10607) - Update elm-pep to fix builds for IE < 11 ([@ahocevar](https://github.com/ahocevar))
* [#10598](https://github.com/openlayers/openlayers/pull/10598) - Remove inheritDoc to work around JSDoc issue ([@ahocevar](https://github.com/ahocevar))
* [#10574](https://github.com/openlayers/openlayers/pull/10574) - Text rendering improvements ([@ahocevar](https://github.com/ahocevar))
* [#10591](https://github.com/openlayers/openlayers/pull/10591) - Remove obsolete license notice ([@ahocevar](https://github.com/ahocevar))
* [#10588](https://github.com/openlayers/openlayers/pull/10588) - Sort doc navigation properly and add missing modules ([@ahocevar](https://github.com/ahocevar))
* [#10581](https://github.com/openlayers/openlayers/pull/10581) - Use package-lock.json for the checksum calculation ([@DanielRuf](https://github.com/DanielRuf))
* [#10584](https://github.com/openlayers/openlayers/pull/10584) - fixed issue with version throwing an error if it is null ([@MrSoUndso](https://github.com/MrSoUndso))
* [#10575](https://github.com/openlayers/openlayers/pull/10575) - Fix ol/layer/Graticule rendercomplete problem ([@mike-000](https://github.com/mike-000))
* [#10562](https://github.com/openlayers/openlayers/pull/10562) - Zoomify: Separate the service pixel ratio and the device pixel ratio ([@crubier](https://github.com/crubier))
* [#10573](https://github.com/openlayers/openlayers/pull/10573) - Replace Bing layer with MapTiler in example ([@mike-000](https://github.com/mike-000))
* [#10570](https://github.com/openlayers/openlayers/pull/10570) - Use correct extent for the vector image ([@ahocevar](https://github.com/ahocevar))
* [#10572](https://github.com/openlayers/openlayers/pull/10572) - Assert each layer is only added to the map once ([@ahocevar](https://github.com/ahocevar))
* [#10563](https://github.com/openlayers/openlayers/pull/10563) - More compatible way of exporting a map as pdf ([@ahocevar](https://github.com/ahocevar))
* [#10545](https://github.com/openlayers/openlayers/pull/10545) - Make KML point feature styles compatible with declutter ([@mike-000](https://github.com/mike-000))
* [#10542](https://github.com/openlayers/openlayers/pull/10542) - Replace Bing layer with MapTiler in KML example ([@mike-000](https://github.com/mike-000))
* [#10543](https://github.com/openlayers/openlayers/pull/10543) - @api tag must not have a value. ([@MoonE](https://github.com/MoonE))
* [#10547](https://github.com/openlayers/openlayers/pull/10547) - Only generate module apidoc pages when it contains api tags ([@MoonE](https://github.com/MoonE))
* [#10502](https://github.com/openlayers/openlayers/pull/10502) - Stop events that originate with a removed target ([@walkermatt](https://github.com/walkermatt))
* [#10527](https://github.com/openlayers/openlayers/pull/10527) - Remove label cache, render text directly to target canvas ([@ahocevar](https://github.com/ahocevar))
* [#10534](https://github.com/openlayers/openlayers/pull/10534) - [GeoJSON] Read projection from CRS type EPSG ([@wussup](https://github.com/wussup))
* [#10430](https://github.com/openlayers/openlayers/pull/10430) - Offset regular shape ([@Razi91](https://github.com/Razi91))
* [#10513](https://github.com/openlayers/openlayers/pull/10513) - fixed flag-name in upgrade notes ([@fgubler](https://github.com/fgubler))
* [#10504](https://github.com/openlayers/openlayers/pull/10504) - Fix for reset north when rotation is 360 degrees ([@mike-000](https://github.com/mike-000))
* [#10510](https://github.com/openlayers/openlayers/pull/10510) - Remove build/apidoc before running jsdoc again ([@MoonE](https://github.com/MoonE))
* [#10498](https://github.com/openlayers/openlayers/pull/10498) - Fixing issue #10497 on behalf of LarryHuang ([@gazza0](https://github.com/gazza0))
* [#10496](https://github.com/openlayers/openlayers/pull/10496) - Do not stop events when dragging ([@ahocevar](https://github.com/ahocevar))
* [#10478](https://github.com/openlayers/openlayers/pull/10478) - Do not abort and dispose of tiles ([@ahocevar](https://github.com/ahocevar))
* [#10495](https://github.com/openlayers/openlayers/pull/10495) - typo in view.fit ([@danielklim](https://github.com/danielklim))
* [#10473](https://github.com/openlayers/openlayers/pull/10473) - Fix for undefined source in Vector layer ([@mike-000](https://github.com/mike-000))
* [#10484](https://github.com/openlayers/openlayers/pull/10484) - Use a function to get the value of the gradient ([@fredj](https://github.com/fredj))
* [#10262](https://github.com/openlayers/openlayers/pull/10262) - Rework to make Document and XMLSerializer lazy and injectable ([@bjornharrtell](https://github.com/bjornharrtell))
* [#10461](https://github.com/openlayers/openlayers/pull/10461) - Fix link in apidocs to ObjectEvent. ([@MoonE](https://github.com/MoonE))
* [#10413](https://github.com/openlayers/openlayers/pull/10413) - Limit the ZoomSlider's range to the view's constrained resolution. ([@MoonE](https://github.com/MoonE))
* [#10438](https://github.com/openlayers/openlayers/pull/10438) - Avoid accessing the DOM to read the viewport size too often ([@jahow](https://github.com/jahow))
* [#10439](https://github.com/openlayers/openlayers/pull/10439) - WebGL points layer / add support for symbol rotation ([@jahow](https://github.com/jahow))
* [#10434](https://github.com/openlayers/openlayers/pull/10434) - Disable image smoothing for the DEM source in the Sea Level example ([@mike-000](https://github.com/mike-000))
* [#10417](https://github.com/openlayers/openlayers/pull/10417) - Replace Bing layer with MapTiler ([@mike-000](https://github.com/mike-000))
* [#10415](https://github.com/openlayers/openlayers/pull/10415) - Control button span element pointer events ([@mike-000](https://github.com/mike-000))
* [#10409](https://github.com/openlayers/openlayers/pull/10409) - Improve viewport computation in WebGL Postprocessing ([@jahow](https://github.com/jahow))
* [#10119](https://github.com/openlayers/openlayers/pull/10119) - Add crossOrigin option to ol/format/KML for icons ([@mike-000](https://github.com/mike-000))
* [#10181](https://github.com/openlayers/openlayers/pull/10181) - add tags to example docs ([@roemhildtg](https://github.com/roemhildtg))
* [#10407](https://github.com/openlayers/openlayers/pull/10407) - Use render feature compatible extent check ([@ahocevar](https://github.com/ahocevar))
* [#10340](https://github.com/openlayers/openlayers/pull/10340) - Draw circles and custom geometry in user coordinates ([@mike-000](https://github.com/mike-000))
* [#10393](https://github.com/openlayers/openlayers/pull/10393) - getFeaturesInExtent function for ol/source/VectorTile ([@ahocevar](https://github.com/ahocevar))
* [#10402](https://github.com/openlayers/openlayers/pull/10402) - Do not preventDefault on pointerdown ([@ahocevar](https://github.com/ahocevar))
* [#10269](https://github.com/openlayers/openlayers/pull/10269) - Replace the BNG layer source in the Raster Reprojection example ([@mike-000](https://github.com/mike-000))
* [#10394](https://github.com/openlayers/openlayers/pull/10394) - Remove map renderer element when disposing ([@ahocevar](https://github.com/ahocevar))
* [#10391](https://github.com/openlayers/openlayers/pull/10391) - Use box-shadow css instead of filter ([@ahocevar](https://github.com/ahocevar))
* [#10392](https://github.com/openlayers/openlayers/pull/10392) - Fix interim tile handing for vector tiles ([@ahocevar](https://github.com/ahocevar))
* [#10380](https://github.com/openlayers/openlayers/pull/10380) - Adjust examples for layer canvas pixel ratio and rotation ([@mike-000](https://github.com/mike-000))
* [#10384](https://github.com/openlayers/openlayers/pull/10384) - Include Transform typedef in API ([@mike-000](https://github.com/mike-000))
* [#10385](https://github.com/openlayers/openlayers/pull/10385) - Import transpiled rbush ([@walkermatt](https://github.com/walkermatt))
* [#10363](https://github.com/openlayers/openlayers/pull/10363) - Interactive SVG layer example ([@ahocevar](https://github.com/ahocevar))
* [#10120](https://github.com/openlayers/openlayers/pull/10120) - Resolve constraints using anchor if following a cancelled animation ([@mike-000](https://github.com/mike-000))
* [#10370](https://github.com/openlayers/openlayers/pull/10370) - Replace Bing layer with MapTiler ([@mike-000](https://github.com/mike-000))
* [#10362](https://github.com/openlayers/openlayers/pull/10362) - Remove line that was accidently added with #10332 ([@ahocevar](https://github.com/ahocevar))
* [#10309](https://github.com/openlayers/openlayers/pull/10309) - Bring back vector render mode for vector tile layers ([@ahocevar](https://github.com/ahocevar))
* [#10332](https://github.com/openlayers/openlayers/pull/10332) - Conditional default prevention instead of touch-action: none ([@ahocevar](https://github.com/ahocevar))
* [#10301](https://github.com/openlayers/openlayers/pull/10301) - Create hit detection data per layer and without requestAnimationFrame ([@ahocevar](https://github.com/ahocevar))
* [#10347](https://github.com/openlayers/openlayers/pull/10347) - Set utfgrid tile as loaded after load instead of empty ([@adube](https://github.com/adube))
* [#10344](https://github.com/openlayers/openlayers/pull/10344) - Fix lazy UTFGrid loading ([@ahocevar](https://github.com/ahocevar))
* [#10321](https://github.com/openlayers/openlayers/pull/10321) - Support touch events for DragBox interaction ([@greggian](https://github.com/greggian))
* [#10315](https://github.com/openlayers/openlayers/pull/10315) - Replace Bing sources in some examples ([@mike-000](https://github.com/mike-000))
* [#10330](https://github.com/openlayers/openlayers/pull/10330) - Fix modifying circle geometries ([@greggian](https://github.com/greggian))
* [#10318](https://github.com/openlayers/openlayers/pull/10318) - Use a minimalist pointer events polyfill ([@ahocevar](https://github.com/ahocevar))
* [#10322](https://github.com/openlayers/openlayers/pull/10322) - Update tile grid option descriptions ([@mike-000](https://github.com/mike-000))
* [#10308](https://github.com/openlayers/openlayers/pull/10308) - Fix feature lookup after removal of alpha ([@ahocevar](https://github.com/ahocevar))
* [#10310](https://github.com/openlayers/openlayers/pull/10310) - Ensure that OverviewMap respects the initial rotation of attached Maps ([@brianhelba](https://github.com/brianhelba))
* [#10302](https://github.com/openlayers/openlayers/pull/10302) - Do not use Math.sign() to support very old browsers ([@ahocevar](https://github.com/ahocevar))
* [#10295](https://github.com/openlayers/openlayers/pull/10295) - Do not fail when hit detecting features without style ([@ahocevar](https://github.com/ahocevar))
* [#10293](https://github.com/openlayers/openlayers/pull/10293) - Do not hit detect while tile is loading ([@ahocevar](https://github.com/ahocevar))
* [#10292](https://github.com/openlayers/openlayers/pull/10292) - Fix typo in jsdoc in ol/source/WMTS ([@jomue](https://github.com/jomue))
* [#10291](https://github.com/openlayers/openlayers/pull/10291) - tabindex without focus condition ([@ahocevar](https://github.com/ahocevar))
* [#10286](https://github.com/openlayers/openlayers/pull/10286) - Use passive option to avoid Chrome warning ([@ahocevar](https://github.com/ahocevar))
* [#10285](https://github.com/openlayers/openlayers/pull/10285) - Fix WMS GetLegendGraphic example codesandbox error ([@mike-000](https://github.com/mike-000))
* [#10283](https://github.com/openlayers/openlayers/pull/10283) - Use the originalEvent in the targetNotEditable condition ([@fredj](https://github.com/fredj))
* [#10282](https://github.com/openlayers/openlayers/pull/10282) - Fix documentation of Stroke.lineDash default value ([@jansule](https://github.com/jansule))
* [#10259](https://github.com/openlayers/openlayers/pull/10259) - Remove all the sketch features in abortDrawing ([@fredj](https://github.com/fredj))
* [#10265](https://github.com/openlayers/openlayers/pull/10265) - Update operators doc in WebGL points layer example ([@fredj](https://github.com/fredj))
* [#10256](https://github.com/openlayers/openlayers/pull/10256) - Do not bypass measureTextWidth ([@ahocevar](https://github.com/ahocevar))
* [#10264](https://github.com/openlayers/openlayers/pull/10264) - Remove unused variable from vertex shader ([@fredj](https://github.com/fredj))
* [#10257](https://github.com/openlayers/openlayers/pull/10257) - Allow View.adjust* methods to take a null opt_anchor ([@brianhelba](https://github.com/brianhelba))
* [#10261](https://github.com/openlayers/openlayers/pull/10261) - WebGL / do not throw error when shader compilation gives a warning ([@jahow](https://github.com/jahow))
* [#10255](https://github.com/openlayers/openlayers/pull/10255) - Don't use instanceof HTMLElement in handleMapBrowserEvent ([@fredj](https://github.com/fredj))
<details>
<summary>Dependency Updates</summary>
* [#10629](https://github.com/openlayers/openlayers/pull/10629) - Bump ol-mapbox-style from 6.0.0 to 6.0.1 ([@openlayers](https://github.com/openlayers))
* [#10628](https://github.com/openlayers/openlayers/pull/10628) - Bump puppeteer from 2.1.0 to 2.1.1 ([@openlayers](https://github.com/openlayers))
* [#10627](https://github.com/openlayers/openlayers/pull/10627) - Bump handlebars from 4.7.2 to 4.7.3 ([@openlayers](https://github.com/openlayers))
* [#10626](https://github.com/openlayers/openlayers/pull/10626) - Bump webpack-dev-server from 3.10.2 to 3.10.3 ([@openlayers](https://github.com/openlayers))
* [#10600](https://github.com/openlayers/openlayers/pull/10600) - Bump puppeteer from 2.0.0 to 2.1.0 ([@openlayers](https://github.com/openlayers))
* [#10606](https://github.com/openlayers/openlayers/pull/10606) - Bump @babel/core from 7.8.3 to 7.8.4 ([@openlayers](https://github.com/openlayers))
* [#10605](https://github.com/openlayers/openlayers/pull/10605) - Bump webpack-dev-server from 3.10.1 to 3.10.2 ([@openlayers](https://github.com/openlayers))
* [#10604](https://github.com/openlayers/openlayers/pull/10604) - Bump rollup from 1.29.1 to 1.31.0 ([@openlayers](https://github.com/openlayers))
* [#10603](https://github.com/openlayers/openlayers/pull/10603) - Bump @babel/preset-env from 7.8.3 to 7.8.4 ([@openlayers](https://github.com/openlayers))
* [#10602](https://github.com/openlayers/openlayers/pull/10602) - Bump url-polyfill from 1.1.7 to 1.1.8 ([@openlayers](https://github.com/openlayers))
* [#10601](https://github.com/openlayers/openlayers/pull/10601) - Bump terser-webpack-plugin from 2.3.2 to 2.3.4 ([@openlayers](https://github.com/openlayers))
* [#10578](https://github.com/openlayers/openlayers/pull/10578) - Bump sinon from 8.1.0 to 8.1.1 ([@openlayers](https://github.com/openlayers))
* [#10577](https://github.com/openlayers/openlayers/pull/10577) - Bump mocha from 7.0.0 to 7.0.1 ([@openlayers](https://github.com/openlayers))
* [#10576](https://github.com/openlayers/openlayers/pull/10576) - Bump rollup from 1.29.0 to 1.29.1 ([@openlayers](https://github.com/openlayers))
* [#10551](https://github.com/openlayers/openlayers/pull/10551) - Bump handlebars from 4.7.1 to 4.7.2 ([@openlayers](https://github.com/openlayers))
* [#10550](https://github.com/openlayers/openlayers/pull/10550) - Bump @babel/preset-env from 7.8.2 to 7.8.3 ([@openlayers](https://github.com/openlayers))
* [#10549](https://github.com/openlayers/openlayers/pull/10549) - Bump sinon from 8.0.4 to 8.1.0 ([@openlayers](https://github.com/openlayers))
* [#10548](https://github.com/openlayers/openlayers/pull/10548) - Bump @babel/core from 7.8.0 to 7.8.3 ([@openlayers](https://github.com/openlayers))
* [#10518](https://github.com/openlayers/openlayers/pull/10518) - Bump front-matter from 3.0.2 to 3.1.0 ([@openlayers](https://github.com/openlayers))
* [#10516](https://github.com/openlayers/openlayers/pull/10516) - Bump handlebars from 4.5.3 to 4.7.1 ([@openlayers](https://github.com/openlayers))
* [#10514](https://github.com/openlayers/openlayers/pull/10514) - Bump terser-webpack-plugin from 2.3.1 to 2.3.2 ([@openlayers](https://github.com/openlayers))
* [#10523](https://github.com/openlayers/openlayers/pull/10523) - Bump sinon from 8.0.2 to 8.0.4 ([@openlayers](https://github.com/openlayers))
* [#10515](https://github.com/openlayers/openlayers/pull/10515) - Bump @babel/preset-env from 7.7.7 to 7.8.2 ([@openlayers](https://github.com/openlayers))
* [#10517](https://github.com/openlayers/openlayers/pull/10517) - Bump karma-firefox-launcher from 1.2.0 to 1.3.0 ([@openlayers](https://github.com/openlayers))
* [#10519](https://github.com/openlayers/openlayers/pull/10519) - Bump @babel/core from 7.7.7 to 7.8.0 ([@openlayers](https://github.com/openlayers))
* [#10520](https://github.com/openlayers/openlayers/pull/10520) - Bump globby from 10.0.1 to 11.0.0 ([@openlayers](https://github.com/openlayers))
* [#10521](https://github.com/openlayers/openlayers/pull/10521) - Bump rollup-plugin-terser from 5.1.3 to 5.2.0 ([@openlayers](https://github.com/openlayers))
* [#10522](https://github.com/openlayers/openlayers/pull/10522) - Bump rollup from 1.28.0 to 1.29.0 ([@openlayers](https://github.com/openlayers))
* [#10480](https://github.com/openlayers/openlayers/pull/10480) - Bump mocha from 6.2.2 to 7.0.0 ([@openlayers](https://github.com/openlayers))
* [#10482](https://github.com/openlayers/openlayers/pull/10482) - Bump sinon from 8.0.1 to 8.0.2 ([@openlayers](https://github.com/openlayers))
* [#10481](https://github.com/openlayers/openlayers/pull/10481) - Bump yargs from 15.0.2 to 15.1.0 ([@openlayers](https://github.com/openlayers))
* [#10479](https://github.com/openlayers/openlayers/pull/10479) - Bump rollup from 1.27.14 to 1.28.0 ([@openlayers](https://github.com/openlayers))
* [#10466](https://github.com/openlayers/openlayers/pull/10466) - Bump webpack from 4.41.4 to 4.41.5 ([@openlayers](https://github.com/openlayers))
* [#10467](https://github.com/openlayers/openlayers/pull/10467) - Bump sinon from 8.0.0 to 8.0.1 ([@openlayers](https://github.com/openlayers))
* [#10450](https://github.com/openlayers/openlayers/pull/10450) - Bump @babel/core from 7.7.5 to 7.7.7 ([@openlayers](https://github.com/openlayers))
* [#10449](https://github.com/openlayers/openlayers/pull/10449) - Bump eslint from 6.7.2 to 6.8.0 ([@openlayers](https://github.com/openlayers))
* [#10448](https://github.com/openlayers/openlayers/pull/10448) - Bump rollup from 1.27.13 to 1.27.14 ([@openlayers](https://github.com/openlayers))
* [#10447](https://github.com/openlayers/openlayers/pull/10447) - Bump @babel/preset-env from 7.7.6 to 7.7.7 ([@openlayers](https://github.com/openlayers))
* [#10446](https://github.com/openlayers/openlayers/pull/10446) - Bump sinon from 7.5.0 to 8.0.0 ([@openlayers](https://github.com/openlayers))
* [#10445](https://github.com/openlayers/openlayers/pull/10445) - Bump webpack from 4.41.2 to 4.41.4 ([@openlayers](https://github.com/openlayers))
* [#10444](https://github.com/openlayers/openlayers/pull/10444) - Bump terser-webpack-plugin from 2.3.0 to 2.3.1 ([@openlayers](https://github.com/openlayers))
* [#10443](https://github.com/openlayers/openlayers/pull/10443) - Bump webpack-dev-server from 3.9.0 to 3.10.1 ([@openlayers](https://github.com/openlayers))
* [#10425](https://github.com/openlayers/openlayers/pull/10425) - Bump elm-pep from 1.0.2 to 1.0.3 ([@openlayers](https://github.com/openlayers))
* [#10427](https://github.com/openlayers/openlayers/pull/10427) - Bump webpack-cli from 3.3.2 to 3.3.10 ([@openlayers](https://github.com/openlayers))
* [#10426](https://github.com/openlayers/openlayers/pull/10426) - Bump copy-webpack-plugin from 5.0.5 to 5.1.1 ([@openlayers](https://github.com/openlayers))
* [#10424](https://github.com/openlayers/openlayers/pull/10424) - Bump eslint from 6.7.1 to 6.7.2 ([@openlayers](https://github.com/openlayers))
* [#10423](https://github.com/openlayers/openlayers/pull/10423) - Bump marked from 0.7.0 to 0.8.0 ([@openlayers](https://github.com/openlayers))
* [#10422](https://github.com/openlayers/openlayers/pull/10422) - Bump url-polyfill from 1.1.5 to 1.1.7 ([@openlayers](https://github.com/openlayers))
* [#10421](https://github.com/openlayers/openlayers/pull/10421) - Bump rollup-plugin-terser from 5.1.2 to 5.1.3 ([@openlayers](https://github.com/openlayers))
* [#10420](https://github.com/openlayers/openlayers/pull/10420) - Bump terser-webpack-plugin from 2.2.2 to 2.3.0 ([@openlayers](https://github.com/openlayers))
* [#10419](https://github.com/openlayers/openlayers/pull/10419) - Bump rollup from 1.27.9 to 1.27.13 ([@openlayers](https://github.com/openlayers))
* [#10418](https://github.com/openlayers/openlayers/pull/10418) - Bump babel-loader from 8.0.5 to 8.0.6 ([@openlayers](https://github.com/openlayers))
* [#10399](https://github.com/openlayers/openlayers/pull/10399) - Bump rollup from 1.25.1 to 1.27.9 ([@openlayers](https://github.com/openlayers))
* [#10398](https://github.com/openlayers/openlayers/pull/10398) - Bump terser-webpack-plugin from 2.2.1 to 2.2.2 ([@openlayers](https://github.com/openlayers))
* [#10397](https://github.com/openlayers/openlayers/pull/10397) - Bump @babel/core from 7.7.4 to 7.7.5 ([@openlayers](https://github.com/openlayers))
* [#10396](https://github.com/openlayers/openlayers/pull/10396) - Bump @babel/preset-env from 7.7.4 to 7.7.6 ([@openlayers](https://github.com/openlayers))
* [#10365](https://github.com/openlayers/openlayers/pull/10365) - Bump @babel/preset-env from 7.6.3 to 7.7.4 ([@openlayers](https://github.com/openlayers))
* [#10366](https://github.com/openlayers/openlayers/pull/10366) - Bump karma-coverage-istanbul-reporter from 2.1.0 to 2.1.1 ([@openlayers](https://github.com/openlayers))
* [#10367](https://github.com/openlayers/openlayers/pull/10367) - Bump coveralls from 3.0.7 to 3.0.9 ([@openlayers](https://github.com/openlayers))
* [#10368](https://github.com/openlayers/openlayers/pull/10368) - Bump sinon from 7.3.2 to 7.5.0 ([@openlayers](https://github.com/openlayers))
* [#10369](https://github.com/openlayers/openlayers/pull/10369) - Bump @babel/core from 7.7.2 to 7.7.4 ([@openlayers](https://github.com/openlayers))
* [#10337](https://github.com/openlayers/openlayers/pull/10337) - Bump fs-extra from 8.0.1 to 8.1.0 ([@openlayers](https://github.com/openlayers))
* [#10336](https://github.com/openlayers/openlayers/pull/10336) - Bump eslint from 6.6.0 to 6.7.1 ([@openlayers](https://github.com/openlayers))
* [#10335](https://github.com/openlayers/openlayers/pull/10335) - Bump yargs from 14.2.0 to 15.0.2 ([@openlayers](https://github.com/openlayers))
* [#10334](https://github.com/openlayers/openlayers/pull/10334) - Bump webpack-dev-middleware from 3.6.2 to 3.7.2 ([@openlayers](https://github.com/openlayers))
* [#10333](https://github.com/openlayers/openlayers/pull/10333) - Bump copy-webpack-plugin from 5.0.4 to 5.0.5 ([@openlayers](https://github.com/openlayers))
* [#10306](https://github.com/openlayers/openlayers/pull/10306) - Bump puppeteer from 1.20.0 to 2.0.0 ([@openlayers](https://github.com/openlayers))
* [#10307](https://github.com/openlayers/openlayers/pull/10307) - Bump @babel/core from 7.6.4 to 7.7.2 ([@openlayers](https://github.com/openlayers))
* [#10305](https://github.com/openlayers/openlayers/pull/10305) - Bump proj4 from 2.5.0 to 2.6.0 ([@openlayers](https://github.com/openlayers))
* [#10304](https://github.com/openlayers/openlayers/pull/10304) - Bump handlebars from 4.4.5 to 4.5.3 ([@openlayers](https://github.com/openlayers))
* [#10303](https://github.com/openlayers/openlayers/pull/10303) - Bump glob from 7.1.5 to 7.1.6 ([@openlayers](https://github.com/openlayers))
* [#10280](https://github.com/openlayers/openlayers/pull/10280) - Bump rollup-plugin-commonjs from 10.0.0 to 10.1.0 ([@openlayers](https://github.com/openlayers))
* [#10279](https://github.com/openlayers/openlayers/pull/10279) - Bump rollup-plugin-terser from 5.0.0 to 5.1.2 ([@openlayers](https://github.com/openlayers))
* [#10278](https://github.com/openlayers/openlayers/pull/10278) - Bump eslint from 6.0.0 to 6.6.0 ([@openlayers](https://github.com/openlayers))
* [#10277](https://github.com/openlayers/openlayers/pull/10277) - Bump karma-webpack from 4.0.0-rc.6 to 4.0.2 ([@openlayers](https://github.com/openlayers))
* [#10276](https://github.com/openlayers/openlayers/pull/10276) - Bump webpack-dev-server from 3.3.1 to 3.9.0 ([@openlayers](https://github.com/openlayers))
* [#10251](https://github.com/openlayers/openlayers/pull/10251) - Bump @babel/preset-env from 7.4.4 to 7.6.3 ([@openlayers](https://github.com/openlayers))
* [#10250](https://github.com/openlayers/openlayers/pull/10250) - Bump buble from 0.19.7 to 0.19.8 ([@openlayers](https://github.com/openlayers))
* [#10249](https://github.com/openlayers/openlayers/pull/10249) - Bump karma-firefox-launcher from 1.1.0 to 1.2.0 ([@openlayers](https://github.com/openlayers))
* [#10248](https://github.com/openlayers/openlayers/pull/10248) - Bump html-to-image from 0.1.0 to 0.1.1 ([@openlayers](https://github.com/openlayers))
* [#10247](https://github.com/openlayers/openlayers/pull/10247) - Bump terser-webpack-plugin from 2.0.1 to 2.2.1 ([@openlayers](https://github.com/openlayers))
</details>

13
changelog/v6.2.1.md Normal file
View File

@@ -0,0 +1,13 @@
# 6.2.1
This is a bugfix release which resolves bundler issues due to a circular dependency, and brings a few documentation and example fixes.
## List of all changes
* [#10656](https://github.com/openlayers/openlayers/pull/10656) - Fix for export PDF example compatibility issues, and layer opacity handling. ([@mike-000](https://github.com/mike-000))
* [#10653](https://github.com/openlayers/openlayers/pull/10653) - More reliable check for module content beyond classes ([@ahocevar](https://github.com/ahocevar))
* [#10617](https://github.com/openlayers/openlayers/pull/10617) - Improve apidoc generation performance ([@MoonE](https://github.com/MoonE))
* [#10625](https://github.com/openlayers/openlayers/pull/10625) - Apidoc cleanup navigation html ([@MoonE](https://github.com/MoonE))
* [#10649](https://github.com/openlayers/openlayers/pull/10649) - Remove circular dependency ([@ahocevar](https://github.com/ahocevar))
* [#10637](https://github.com/openlayers/openlayers/pull/10637) - Develop on 6.2.1 ([@openlayers](https://github.com/openlayers))

123
changelog/v6.3.0.md Normal file
View File

@@ -0,0 +1,123 @@
# 6.3.0
With more than 70 pull requests, this release not only brings significant improvements to the API documentation. It also fixes some old bugs and brings frequently requested improvments. And good news for TypeScript users: OpenLayers now ships with type definitions in `.d.ts` files.
## New features and improvements
* Several improvements to the Graticule layer, like consistent labeling, no more missing graticule lines, and it now works for views that cross the date line.
* Better support for KML icon colors, as well as fills and outlines in PolyStyle
* Better `ol/Overlay` performance and support for panning off-screen overlays into view
* Most of the rendering code can now be run in web workers, e.g. to render to an OffscreenCanvas
* OpenLayers now works fine in web components with shadow root
* WebGL point layers now support rotation based on feature attributes
## List of all changes
* [#10490](https://github.com/openlayers/openlayers/pull/10490) - Select style multiple select interactions removed ([@bepremeg](https://github.com/bepremeg))
* [#10531](https://github.com/openlayers/openlayers/pull/10531) - Dynamically chose the number of subdivisions based on the size of the Image to reproject ([@pjsg](https://github.com/pjsg))
* [#10618](https://github.com/openlayers/openlayers/pull/10618) - Add apidoc-debug task to debug the apidoc generation process ([@MoonE](https://github.com/MoonE))
* [#10343](https://github.com/openlayers/openlayers/pull/10343) - Correct interactions with circle geometries when using user coordinates ([@mike-000](https://github.com/mike-000))
* [#10864](https://github.com/openlayers/openlayers/pull/10864) - Update dependencies ([@ahocevar](https://github.com/ahocevar))
* [#10859](https://github.com/openlayers/openlayers/pull/10859) - Add an example of clipping layer based on a vector source ([@SDaron](https://github.com/SDaron))
* [#10850](https://github.com/openlayers/openlayers/pull/10850) - API docs for enums ([@ahocevar](https://github.com/ahocevar))
* [#10857](https://github.com/openlayers/openlayers/pull/10857) - Make OSM XML example work at dateline and replace Bing with MapTiler ([@mike-000](https://github.com/mike-000))
* [#10858](https://github.com/openlayers/openlayers/pull/10858) - Perform auto-pan when adding an Overlay to a Map ([@ejn](https://github.com/ejn))
* [#10646](https://github.com/openlayers/openlayers/pull/10646) - Write fill and outline in KML PolyStyle ([@mike-000](https://github.com/mike-000))
* [#10800](https://github.com/openlayers/openlayers/pull/10800) - Make Overlay.panIntoView an API method ([@ejn](https://github.com/ejn))
* [#10807](https://github.com/openlayers/openlayers/pull/10807) - Handle Graticule wrapX without calculating excess meridians ([@mike-000](https://github.com/mike-000))
* [#10795](https://github.com/openlayers/openlayers/pull/10795) - Show graticule labels in wrapped worlds ([@mike-000](https://github.com/mike-000))
* [#10824](https://github.com/openlayers/openlayers/pull/10824) - Fix drawing svg icon with color option in ie11 ([@MoonE](https://github.com/MoonE))
* [#10802](https://github.com/openlayers/openlayers/pull/10802) - Apidoc add default-exported enums ([@MoonE](https://github.com/MoonE))
* [#10805](https://github.com/openlayers/openlayers/pull/10805) - make ImageSourceEventType available for consumers ([@regileeso](https://github.com/regileeso))
* [#10822](https://github.com/openlayers/openlayers/pull/10822) - parsing color from IconStyle in KML files ([@lysek](https://github.com/lysek))
* [#10848](https://github.com/openlayers/openlayers/pull/10848) - Speed up Overlay element positioning using CSS translate() ([@horsenit](https://github.com/horsenit))
* [#9590](https://github.com/openlayers/openlayers/pull/9590) - Calculate tile grid extent from extent of bottom-level tile matrix ([@mloskot](https://github.com/mloskot))
* [#10845](https://github.com/openlayers/openlayers/pull/10845) - Fix createHitDetectionImageData error for features with no size ([@gedaiu](https://github.com/gedaiu))
* [#10842](https://github.com/openlayers/openlayers/pull/10842) - Fix custom symbol example short description ([@mike-000](https://github.com/mike-000))
* [#10828](https://github.com/openlayers/openlayers/pull/10828) - Offscreen canvas example ([@ahocevar](https://github.com/ahocevar))
* [#10816](https://github.com/openlayers/openlayers/pull/10816) - Add 'funding' field to `package.json` ([@marcjansen](https://github.com/marcjansen))
* [#10813](https://github.com/openlayers/openlayers/pull/10813) - Add sponsors section to the readme ([@tschaub](https://github.com/tschaub))
* [#10474](https://github.com/openlayers/openlayers/pull/10474) - Fix for undefined source in Image layer ([@mike-000](https://github.com/mike-000))
* [#10785](https://github.com/openlayers/openlayers/pull/10785) - Detect Zoomify server-side retina tiles ([@ahocevar](https://github.com/ahocevar))
* [#10787](https://github.com/openlayers/openlayers/pull/10787) - Improved projection extent in the "Reprojection with EPSG.io Search" example ([@mike-000](https://github.com/mike-000))
* [#10792](https://github.com/openlayers/openlayers/pull/10792) - Add support for EventListener Object ([@flexjoly](https://github.com/flexjoly))
* [#10777](https://github.com/openlayers/openlayers/pull/10777) - Keep the render loop running during simulation ([@ahocevar](https://github.com/ahocevar))
* [#10791](https://github.com/openlayers/openlayers/pull/10791) - iOS 12 touchmove: Prevent touchmove event default when no preceding pointer event ([@sosmo](https://github.com/sosmo))
* [#10786](https://github.com/openlayers/openlayers/pull/10786) - Resolve constraints when updating size ([@ahocevar](https://github.com/ahocevar))
* [#10788](https://github.com/openlayers/openlayers/pull/10788) - Add safeguard to handleTouchMove ([@sosmo](https://github.com/sosmo))
* [#10722](https://github.com/openlayers/openlayers/pull/10722) - fix: handle layer clear event in case clear(true) called ([@jellyedwards](https://github.com/jellyedwards))
* [#10723](https://github.com/openlayers/openlayers/pull/10723) - Improve the extent transforms used by Graticule and handle extents crossing the dateline ([@mike-000](https://github.com/mike-000))
* [#10744](https://github.com/openlayers/openlayers/pull/10744) - Ensure the Modify Features Test example opens at correct zoom ([@mike-000](https://github.com/mike-000))
* [#10767](https://github.com/openlayers/openlayers/pull/10767) - Replace Bing layer with MapTiler in examples ([@mike-000](https://github.com/mike-000))
* [#10751](https://github.com/openlayers/openlayers/pull/10751) - Sort events / observables in all cases ([@MoonE](https://github.com/MoonE))
* [#10763](https://github.com/openlayers/openlayers/pull/10763) - TypeScript: Fix inconsistent optionality in various APIs ([@jumpinjackie](https://github.com/jumpinjackie))
* [#10758](https://github.com/openlayers/openlayers/pull/10758) - Allow using feature attributes for symbol rotation in WebGL layers ([@jahow](https://github.com/jahow))
* [#10748](https://github.com/openlayers/openlayers/pull/10748) - Fix "Cannot read property 'anchor' of undefined" in ol/View ([@mike-000](https://github.com/mike-000))
* [#10746](https://github.com/openlayers/openlayers/pull/10746) - Fix building apidoc on windows ([@MoonE](https://github.com/MoonE))
* [#10720](https://github.com/openlayers/openlayers/pull/10720) - Apidoc better search ([@MoonE](https://github.com/MoonE))
* [#10743](https://github.com/openlayers/openlayers/pull/10743) - Ignore user provided tile cache size when too small ([@ahocevar](https://github.com/ahocevar))
* [#10736](https://github.com/openlayers/openlayers/pull/10736) - Allow cluster source to unlisten from its source ([@M393](https://github.com/M393))
* [#10739](https://github.com/openlayers/openlayers/pull/10739) - Fix typo in trackpad timeout ([@ahocevar](https://github.com/ahocevar))
* [#10740](https://github.com/openlayers/openlayers/pull/10740) - Document tabindex behavior for MouseWheelZoom and DragPan ([@matthias-ccri](https://github.com/matthias-ccri))
* [#10738](https://github.com/openlayers/openlayers/pull/10738) - Fix text background decluttering ([@ahocevar](https://github.com/ahocevar))
* [#10715](https://github.com/openlayers/openlayers/pull/10715) - Fix disappearing graticule labels when rotation returns to 0 ([@mike-000](https://github.com/mike-000))
* [#10713](https://github.com/openlayers/openlayers/pull/10713) - Draw graticule labels in a postrender function ([@mike-000](https://github.com/mike-000))
* [#10711](https://github.com/openlayers/openlayers/pull/10711) - Make sure that optional args are typed accordingly ([@ahocevar](https://github.com/ahocevar))
* [#10710](https://github.com/openlayers/openlayers/pull/10710) - Fix stylefunction return type ([@ahocevar](https://github.com/ahocevar))
* [#10709](https://github.com/openlayers/openlayers/pull/10709) - Fix type and documentation of style function ([@ahocevar](https://github.com/ahocevar))
* [#10708](https://github.com/openlayers/openlayers/pull/10708) - Handle Select interactions with falsey select style ([@ahocevar](https://github.com/ahocevar))
* [#10707](https://github.com/openlayers/openlayers/pull/10707) - Get default projection for overview map from main map. ([@AugustusKling](https://github.com/AugustusKling))
* [#10699](https://github.com/openlayers/openlayers/pull/10699) - Make Select interaction work when there are multiple instances ([@ahocevar](https://github.com/ahocevar))
* [#10694](https://github.com/openlayers/openlayers/pull/10694) - Draw image with configured opacity ([@M393](https://github.com/M393))
* [#10703](https://github.com/openlayers/openlayers/pull/10703) - CI and test fixes ([@ahocevar](https://github.com/ahocevar))
* [#10698](https://github.com/openlayers/openlayers/pull/10698) - Shadow root ([@ahocevar](https://github.com/ahocevar))
* [#10688](https://github.com/openlayers/openlayers/pull/10688) - Publish type definition files ([@ahocevar](https://github.com/ahocevar))
* [#10691](https://github.com/openlayers/openlayers/pull/10691) - Do not exceed color range ([@ahocevar](https://github.com/ahocevar))
* [#10683](https://github.com/openlayers/openlayers/pull/10683) - Dispatch enterfullscreen and leavefullscreen from the FullScreen control ([@fredj](https://github.com/fredj))
* [#10676](https://github.com/openlayers/openlayers/pull/10676) - Document that overviewmap view must use same projection as main map ([@mike-000](https://github.com/mike-000))
* [#10678](https://github.com/openlayers/openlayers/pull/10678) - Add maxResolution option to ol/tilegrid.createXYZ() and ol/source/XYZ ([@mike-000](https://github.com/mike-000))
* [#10690](https://github.com/openlayers/openlayers/pull/10690) - Document minZoom and maxZoom options for all layers ([@mike-000](https://github.com/mike-000))
* [#10672](https://github.com/openlayers/openlayers/pull/10672) - Nicer mousewheel and trackpad zooming ([@ahocevar](https://github.com/ahocevar))
* [#10687](https://github.com/openlayers/openlayers/pull/10687) - Increase timeout in listenImage test ([@fredj](https://github.com/fredj))
* [#10684](https://github.com/openlayers/openlayers/pull/10684) - perf: only do expensive reload when texture changes ([@jellyedwards](https://github.com/jellyedwards))
* [#10675](https://github.com/openlayers/openlayers/pull/10675) - typo ([@jipexu](https://github.com/jipexu))
* [#10669](https://github.com/openlayers/openlayers/pull/10669) - More browser compatible Export Map example ([@mike-000](https://github.com/mike-000))
* [#10667](https://github.com/openlayers/openlayers/pull/10667) - Do not render label with the current linedash ([@ahocevar](https://github.com/ahocevar))
* [#10666](https://github.com/openlayers/openlayers/pull/10666) - Load polyfill before example specific scripts in examples template ([@mike-000](https://github.com/mike-000))
* [#6526](https://github.com/openlayers/openlayers/pull/6526) - Draw interaction: add abortDrawing method and drawabort event ([@tchandelle](https://github.com/tchandelle))
* [#10657](https://github.com/openlayers/openlayers/pull/10657) - Changelog for v6.2.1 ([@openlayers](https://github.com/openlayers))
<details>
<summary>Dependency Updates</summary>
* [#10855](https://github.com/openlayers/openlayers/pull/10855) - Bump rollup from 2.1.0 to 2.3.0 ([@openlayers](https://github.com/openlayers))
* [#10854](https://github.com/openlayers/openlayers/pull/10854) - Bump ol-mapbox-style from 6.1.0 to 6.1.1 ([@openlayers](https://github.com/openlayers))
* [#10853](https://github.com/openlayers/openlayers/pull/10853) - Bump buble from 0.19.8 to 0.20.0 ([@openlayers](https://github.com/openlayers))
* [#10852](https://github.com/openlayers/openlayers/pull/10852) - Bump webpack from 4.42.0 to 4.42.1 ([@openlayers](https://github.com/openlayers))
* [#10837](https://github.com/openlayers/openlayers/pull/10837) - Bump ol-mapbox-style from 6.0.1 to 6.1.0 ([@openlayers](https://github.com/openlayers))
* [#10836](https://github.com/openlayers/openlayers/pull/10836) - Bump coveralls from 3.0.9 to 3.0.11 ([@openlayers](https://github.com/openlayers))
* [#10835](https://github.com/openlayers/openlayers/pull/10835) - Bump @babel/preset-env from 7.8.7 to 7.9.0 ([@openlayers](https://github.com/openlayers))
* [#10834](https://github.com/openlayers/openlayers/pull/10834) - Bump rollup from 1.32.1 to 2.1.0 ([@openlayers](https://github.com/openlayers))
* [#10833](https://github.com/openlayers/openlayers/pull/10833) - Bump fs-extra from 8.1.0 to 9.0.0 ([@openlayers](https://github.com/openlayers))
* [#10832](https://github.com/openlayers/openlayers/pull/10832) - Bump @babel/core from 7.8.7 to 7.9.0 ([@openlayers](https://github.com/openlayers))
* [#10831](https://github.com/openlayers/openlayers/pull/10831) - Bump babel-loader from 8.0.6 to 8.1.0 ([@openlayers](https://github.com/openlayers))
* [#10830](https://github.com/openlayers/openlayers/pull/10830) - Bump mocha from 7.1.0 to 7.1.1 ([@openlayers](https://github.com/openlayers))
* [#10829](https://github.com/openlayers/openlayers/pull/10829) - Bump marked from 0.8.0 to 0.8.2 ([@openlayers](https://github.com/openlayers))
* [#10811](https://github.com/openlayers/openlayers/pull/10811) - Bump sinon from 9.0.0 to 9.0.1 ([@openlayers](https://github.com/openlayers))
* [#10810](https://github.com/openlayers/openlayers/pull/10810) - Bump rollup-plugin-terser from 5.2.0 to 5.3.0 ([@openlayers](https://github.com/openlayers))
* [#10809](https://github.com/openlayers/openlayers/pull/10809) - Bump yargs from 15.3.0 to 15.3.1 ([@openlayers](https://github.com/openlayers))
* [#10806](https://github.com/openlayers/openlayers/pull/10806) - [Security] Bump acorn from 6.1.1 to 6.4.1 ([@openlayers](https://github.com/openlayers))
* [#10755](https://github.com/openlayers/openlayers/pull/10755) - Bump rollup from 1.31.1 to 1.32.0 ([@openlayers](https://github.com/openlayers))
* [#10754](https://github.com/openlayers/openlayers/pull/10754) - Bump @babel/preset-env from 7.8.4 to 7.8.6 ([@openlayers](https://github.com/openlayers))
* [#10753](https://github.com/openlayers/openlayers/pull/10753) - Bump mocha from 7.0.1 to 7.1.0 ([@openlayers](https://github.com/openlayers))
* [#10752](https://github.com/openlayers/openlayers/pull/10752) - Bump @babel/core from 7.8.4 to 7.8.6 ([@openlayers](https://github.com/openlayers))
* [#10725](https://github.com/openlayers/openlayers/pull/10725) - Bump elm-pep from 1.0.4 to 1.0.6 ([@openlayers](https://github.com/openlayers))
* [#10726](https://github.com/openlayers/openlayers/pull/10726) - Bump sinon from 8.1.1 to 9.0.0 ([@openlayers](https://github.com/openlayers))
* [#10680](https://github.com/openlayers/openlayers/pull/10680) - Bump terser-webpack-plugin from 2.3.4 to 2.3.5 ([@openlayers](https://github.com/openlayers))
* [#10682](https://github.com/openlayers/openlayers/pull/10682) - Bump webpack from 4.41.5 to 4.41.6 ([@openlayers](https://github.com/openlayers))
* [#10681](https://github.com/openlayers/openlayers/pull/10681) - Bump webpack-cli from 3.3.10 to 3.3.11 ([@openlayers](https://github.com/openlayers))
* [#10679](https://github.com/openlayers/openlayers/pull/10679) - Bump rollup from 1.31.0 to 1.31.1 ([@openlayers](https://github.com/openlayers))
</details>

View File

@@ -34,7 +34,7 @@ Interactions for <a href="module-ol_Feature-Feature.html">vector features</a>
<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 <a href="module-ol_proj.html#.transform">ol/proj#transform()</a> and <a href="module-ol_proj.html#.transformExtent">ol/proj#transformExtent()</a>.</p>
<a href="module-ol_proj.html">ol/proj</a></td>
<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><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>
<a href="module-ol_Geolocation.html">ol/Geolocation</a><br>
<a href="module-ol_Overlay-Overlay.html">ol/Overlay</a><br></td>

View File

@@ -4,7 +4,7 @@
*/
exports.defineTags = function(dictionary) {
dictionary.defineTag('api', {
mustHaveValue: false,
mustNotHaveValue: true,
canHaveType: false,
canHaveName: false,
onTagged: function(doclet, tag) {
@@ -21,15 +21,11 @@ exports.defineTags = function(dictionary) {
* from the documentation.
*/
const api = [];
const api = {};
const classes = {};
const types = {};
const modules = {};
function hasApiMembers(doclet) {
return doclet.longname.split('#')[0] == this.longname;
}
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.
@@ -77,9 +73,6 @@ function includeAugments(doclet) {
});
}
cls._hideConstructor = true;
if (!cls.undocumented) {
cls._documented = true;
}
}
}
}
@@ -110,16 +103,43 @@ function includeTypes(doclet) {
}
}
const defaultExports = {};
const path = require('path');
const moduleRoot = path.join(process.cwd(), 'src');
// Tag default exported Identifiers because their name should be the same as the module name.
exports.astNodeVisitor = {
visitNode: function(node, e, parser, currentSourceName) {
if (node.parent && node.parent.type === 'ExportDefaultDeclaration') {
const modulePath = path.relative(moduleRoot, currentSourceName).replace(/\.js$/, '');
const exportName = 'module:' + modulePath.replace(/\\/g, '/') + (node.name ? '~' + node.name : '');
defaultExports[exportName] = true;
}
}
};
function sortOtherMembers(doclet) {
if (doclet.fires) {
doclet.fires.sort(function(a, b) {
return a.split(/#?event:/)[1] < b.split(/#?event:/)[1] ? -1 : 1;
});
}
if (doclet.observables) {
doclet.observables.sort(function(a, b) {
return a.name < b.name ? -1 : 1;
});
}
}
exports.handlers = {
newDoclet: function(e) {
const doclet = e.doclet;
if (doclet.stability) {
modules[doclet.longname.split(/[~\.]/).shift()] = true;
api.push(doclet);
api[doclet.longname.split('#')[0]] = true;
}
if (doclet.kind == 'class') {
modules[doclet.longname.split(/[~\.]/).shift()] = true;
if (!(doclet.longname in classes)) {
classes[doclet.longname] = doclet;
} else if ('augments' in doclet) {
@@ -134,22 +154,14 @@ exports.handlers = {
parseComplete: function(e) {
const doclets = e.doclets;
const byLongname = doclets.index.longname;
for (let i = doclets.length - 1; i >= 0; --i) {
const doclet = doclets[i];
if (doclet.stability) {
if (doclet.kind == 'class') {
includeAugments(doclet);
}
if (doclet.fires) {
doclet.fires.sort(function(a, b) {
return a.split(/#?event:/)[1] < b.split(/#?event:/)[1] ? -1 : 1;
});
}
if (doclet.observables) {
doclet.observables.sort(function(a, b) {
return a.name < b.name ? -1 : 1;
});
}
sortOtherMembers(doclet);
// Always document namespaces and items with stability annotation
continue;
}
@@ -160,20 +172,32 @@ exports.handlers = {
if (doclet.isEnum || doclet.kind == 'typedef') {
continue;
}
if (doclet.kind == 'class' && api.some(hasApiMembers, doclet)) {
if (doclet.kind == 'class' && doclet.longname in api) {
// Mark undocumented classes with documented members as unexported.
// This is used in ../template/tmpl/container.tmpl to hide the
// constructor from the docs.
doclet._hideConstructor = true;
includeAugments(doclet);
} else if (!doclet._hideConstructor && !(doclet.kind == 'typedef' && doclet.longname in types)) {
sortOtherMembers(doclet);
} else if (!doclet._hideConstructor) {
// Remove all other undocumented symbols
doclet.undocumented = true;
}
if (doclet._documented) {
delete doclet.undocumented;
if (doclet.memberof && byLongname[doclet.memberof] &&
byLongname[doclet.memberof][0].isEnum &&
!byLongname[doclet.memberof][0].properties.some(p => p.stability)) {
byLongname[doclet.memberof][0].undocumented = true;
}
}
},
processingComplete(e) {
const byLongname = e.doclets.index.longname;
for (const name in defaultExports) {
byLongname[name].forEach(function(doclet) {
doclet.isDefaultExport = true;
});
}
}
};

View File

@@ -5,7 +5,7 @@
exports.defineTags = function(dictionary) {
dictionary.defineTag('inheritDoc', {
mustHaveValue: false,
mustNotHaveValue: true,
canHaveType: false,
canHaveName: false,
onTagged: function(doclet, tag) {
@@ -42,62 +42,62 @@ exports.handlers = {
parseComplete: function(e) {
let ancestors, candidate, candidates, doclet, i, j, k, l, key;
let incompleteDoclet, stability, incomplete, incompletes;
let 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);
}
if (!doclet.augments || !incompletes) {
continue;
}
ancestors = doclet.augments.slice();
// 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) {
Array.prototype.push.apply(ancestors, 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;
}
}
// walk through all inheritDoc members
let incompleteDoclet;
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];
}
}
// 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;
}
// 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;
}
}
}

View File

@@ -1,9 +0,0 @@
@navWidth: 250px;
@colorSubtitle: rgb(119, 156, 52);
@colorRed: rgb(238, 125, 125);
@colorLink: #2a6496;
@colorBgNavi: #2a2a2a;
.font-description () {
font-family: "freight-text-pro",Georgia,Cambria,"Times New Roman",Times,serif
}

View File

@@ -1,10 +0,0 @@
@import "common.less";
footer {
margin: 15px 0;
padding-top: 15px;
border-top: 1px solid #e1e1e1;
.font-description();
font-size: 0.8em;
color: gray;
}

View File

@@ -1,22 +0,0 @@
@import "common.less";
// normalize
html, body {
font: 1em "jaf-bernino-sans","Lucida Grande","Lucida Sans Unicode","Lucida Sans",Geneva,Verdana,sans-serif;
background-color: #fff;
}
ul, ol {
margin: 0;
padding: 0;
}
li {
list-style-type: none;
}
#wrap {
position: relative;
}
@import "navigation.less";
@import "main.less";
@import "footer.less";

View File

@@ -1,288 +0,0 @@
@import "common.less";
.main {
padding: 20px 20px;
margin-left: @navWidth;
.page-title {
display: none;
}
h1 {
font-weight: bold;
font-size: 1.6em;
margin: 0;
}
h2 {
font-weight: bold;
font-size: 1.5em;
margin: 0;
}
h3 {
font-weight: bold;
font-size: 12px;
margin: 5px 0;
}
h4 {
font-weight: bold;
font-size: 1em;
}
h5 {
font-weight: bold;
font-size: 12px;
}
dd {
font-size: 12px;
}
h4.name {
span.type-signature {
display: inline-block;
border-radius: 3px;
background-color: gray;
color: #fff;
font-size: 0.7em;
padding: 2px 4px;
}
span.type {
margin-left: 5px;
}
span.glyphicon {
display: inline-block;
vertical-align: middle;
color: #e1e1e1;
margin-left: 7px;
}
span.returnType {
margin-left: 3px;
background-color: transparent!important;
color: gray!important;
}
}
span.static {
display: inline-block;
border-radius: 3px;
background-color: @colorSubtitle!important;
color: #fff;
font-size: 0.7em;
padding: 2px 4px;
margin-right: 8px;
}
span.number {
background-color: #ccc!important;
color: #2fa2b1!important;
}
span.string {
background-color: #ccc!important;
color: #2fa2b1!important;
}
span.object {
background-color: #ccc!important;
color: #2fa2b1!important;
}
span.array {
background-color: #ccc!important;
color: #2fa2b1!important;
}
span.boolean {
background-color: #ccc!important;
color: #2fa2b1!important;
}
.subsection-title {
font-size: 14px;
margin-top: 30px;
color: @colorSubtitle;
}
.description {
margin-top: 10px;
// .font-description();
font-size: 13px;
p {
font-size: 13px;
}
}
.tag-source {
font-size: 12px;
}
dt.tag-source {
margin-top: 5px;
}
dt.tag-todo {
font-size: 10px;
display: inline-block;
background-color: @colorLink;
color: #fff;
padding: 2px 4px;
border-radius: 5px;
}
.type-signature {
font-size: 12px;
}
.tag-deprecated {
display: inline-block;
font-size: 10px;
}
.important {
background-color: @colorRed;
color: #fff;
padding: 2px 4px;
border-radius: 5px;
}
.nameContainer {
position: relative;
margin-top: 20px;
padding-top: 5px;
border-top: 1px solid #e1e1e1;
.inherited {
display: inline-block;
border-radius: 3px;
background-color: #888!important;
font-size: 0.7em;
padding: 2px 4px;
margin-right: 5px;
a {
color: #fff;
}
}
.tag-source {
position: absolute;
top: 17px;
right: 0;
font-size: 10px;
a {
color: gray;
}
}
&.inherited {
color: gray;
}
h4 {
margin-right: 150px;
line-height: 1.3;
.signature {
font-size: 13px;
font-weight: normal;
font-family: Menlo,Monaco,Consolas,"Courier New",monospace;
}
}
}
pre {
font-size: 11px;
}
table {
width: 100%;
margin-bottom: 15px;
th {
padding: 3px 3px;
}
td {
vertical-align: top;
padding: 5px 3px;
}
.name {
width: 110px;
}
.type {
width: 60px;
color: #aaa;
font-size: 11px;
}
.attributes {
width: 80px;
color: #aaa;
font-size: 11px;
}
.description {
font-size: 12px;
p {
margin: 0;
}
}
.optional {
float: left;
border-radius: 3px;
background-color: #ddd!important;
font-size: 0.7em;
padding: 2px 4px;
margin-right: 5px;
color: gray;
}
}
.readme {
p {
margin-top: 15px;
line-height: 1.2;
font-size: 0.85em;
}
h1 {
font-size: 1.7em;
}
h2 {
margin-top: 30px;
margin-bottom: 10px;
padding-bottom: 10px;
border-bottom: 1px solid #e1e1e1;
}
li {
font-size: 0.9em;
margin-bottom: 10px;
}
}
article {
ol, ul {
margin-left: 25px;
}
ol > li {
list-style-type: decimal;
margin-bottom: 5px;
}
ul > li {
margin-bottom: 5px;
list-style-type: disc;
}
}
}

View File

@@ -1,103 +0,0 @@
@import "common.less";
::-webkit-scrollbar {
width: 8px;
background-color: transparent;
}
::-webkit-scrollbar-thumb {
background-color: gray;
border-radius: 4px;
}
.navigation {
position: fixed;
float: left;
width: @navWidth;
height: 100%;
background-color: @colorBgNavi;
.applicationName {
margin: 0;
margin-top: 15px;
padding: 10px 15px;
font: bold 1.25em Helvetica;
color: #fff;
a {
color: #fff;
}
}
.search {
padding: 10px 15px;
input {
background-color: #333;
color: #fff;
border-color: #555;
}
}
.list {
padding: 10px 15px 0 15px;
position: relative;
overflow: auto;
width: 100%;
}
li.item {
margin-bottom: 8px;
padding-bottom: 8px;
border-bottom: 1px solid #333;
a {
color: #bbb;
&:hover {
color: #fff;
}
}
.title {
cursor: pointer;
position: relative;
a {
color: #e1e1e1;
&:hover {
color: #fff;
}
}
display: block;
font-size: 0.8em;
.static {
display: block;
border-radius: 3px;
background-color: @colorSubtitle;
color: #000;
font-size: 0.7em;
padding: 2px 4px;
float: right;
}
}
.subtitle {
margin-top: 10px;
font: bold 0.65em Helvetica;
color: @colorSubtitle;
display: block;
}
ul {
& > li {
font-size: 0.7em;
padding-left: 8px;
margin-top: 2px;
}
}
.itemMembers {
display: none;
}
}
}

View File

@@ -14,7 +14,6 @@ const path = require('jsdoc/lib/jsdoc/path');
const taffy = require('taffydb').taffy;
const handle = require('jsdoc/lib/jsdoc/util/error').handle;
const helper = require('jsdoc/lib/jsdoc/util/templateHelper');
const _ = require('underscore');
const htmlsafe = helper.htmlsafe;
const linkto = helper.linkto;
const resolveAuthorLinks = helper.resolveAuthorLinks;
@@ -188,6 +187,14 @@ function attachModuleSymbols(doclets, modules) {
});
}
function getPrettyName(doclet) {
const fullname = doclet.longname.replace('module:', '');
if (doclet.isDefaultExport) {
return fullname.split('~')[0];
}
return fullname;
}
/**
* Create the navigation sidebar.
* @param {object} members The members that will be used to create the sidebar.
@@ -203,53 +210,87 @@ function attachModuleSymbols(doclets, modules) {
*/
function buildNav(members) {
const nav = [];
// merge namespaces and classes, then sort
const merged = members.modules.concat(members.classes);
merged.sort(function(a, b) {
if (a.longname > b.longname) {
members.classes.forEach(function(v) {
// exclude interfaces from sidebar
if (v.interface !== true) {
nav.push({
type: 'class',
longname: v.longname,
prettyname: getPrettyName(v),
name: v.name,
module: find({
kind: 'module',
longname: v.memberof
})[0],
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
})
});
}
});
members.modules.forEach(function(v) {
const classes = find({
kind: 'class',
memberof: v.longname
});
const members = find({
kind: 'member',
memberof: v.longname
});
const methods = find({
kind: 'function',
memberof: v.longname
});
const typedefs = find({
kind: 'typedef',
memberof: v.longname
});
const events = find({
kind: 'event',
memberof: v.longname
});
// Only add modules that contain more than just classes with their
// associated Options typedef
if (typedefs.length > classes.length || members.length + methods.length > 0) {
nav.push({
type: 'module',
longname: v.longname,
prettyname: getPrettyName(v),
name: v.name,
members: members,
methods: methods,
typedefs: typedefs,
fires: v.fires,
events: events
});
}
});
nav.sort(function(a, b) {
const prettyNameA = a.prettyname.toLowerCase();
const prettyNameB = b.prettyname.toLowerCase();
if (prettyNameA > prettyNameB) {
return 1;
}
if (a.longname < b.longname) {
if (prettyNameA < prettyNameB) {
return -1;
}
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) {
// exclude interfaces from sidebar
if (v.interface !== true) {
if (v.kind == 'module') {
nav.push(createEntry('module', v));
}
}
});
return nav;
}
@@ -436,6 +477,7 @@ exports.publish = function(taffyData, opts, tutorials) {
// index page displays information from package.json and lists files
const files = find({kind: 'file'});
view.navigationHtml = helper.resolveLinks(view.partial('navigation.tmpl'));
generate('Index',
[{kind: 'mainpage', readme: opts.readme, longname: (opts.mainpagetitle) ? opts.mainpagetitle : 'Main Page'}].concat(files),
indexUrl);

View File

@@ -1,121 +1,299 @@
$(function () {
// Search Items
$('#search').on('keyup', function (e) {
var value = $(this).val();
var $el = $('.navigation');
'use strict';
if (value) {
var regexp = new RegExp(value, 'i');
$el.find('li, .itemMembers').hide();
// Allow user configuration?
const allowRegex = true;
const minInputForSearch = 1;
const minInputForFullText = 2;
const expandAllOnInputWithoutSearch = true;
$el.find('li').each(function (i, v) {
var $item = $(v);
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.closest('.itemMembers').show();
$item.closest('.item').show();
}
});
} else {
$el.find('.item, .itemMembers').hide();
$('.navigation>ul>li').show();
}
$el.find('.list').scrollTop(0);
});
// Toggle when click an item element
$('.navigation').on('click', '.title', function (e) {
$(this).parent().find('.itemMembers').toggle();
});
// Show an item related a current documentation automatically
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)');
if ($currentItem.length) {
$currentItem
.remove()
.prependTo('.navigation .list')
.show()
.find('.itemMembers')
.show();
function constructRegex(searchTerm, makeRe, allowRegex) {
try {
if (allowRegex) {
return makeRe(searchTerm);
}
} catch (e) {
}
// In case of invalid regexp fall back to non-regexp, but still allow . to match /
return makeRe(searchTerm.replace(/[.*+?^${}()|[\]\\]/g, '\\$&').replace(/\\\./g, '[./]'));
}
// Auto resizing on navigation
var _onResize = function () {
var height = $(window).height();
var $el = $('.navigation');
$el.height(height).find('.list').height(height - 133);
};
$(window).on('resize', _onResize);
_onResize();
var currentVersion = document.getElementById('package-version').innerHTML;
// warn about outdated version
var packageUrl = 'https://raw.githubusercontent.com/openlayers/openlayers.github.io/build/package.json';
fetch(packageUrl).then(function(response) {
return response.json();
}).then(function(json) {
var latestVersion = json.version;
document.getElementById('latest-version').innerHTML = latestVersion;
var url = window.location.href;
var branchSearch = url.match(/\/([^\/]*)\/apidoc\//);
var cookieText = 'dismissed=-' + latestVersion + '-';
var dismissed = document.cookie.indexOf(cookieText) != -1;
if (!dismissed && /^v[0-9\.]*$/.test(branchSearch[1]) && currentVersion != latestVersion) {
var link = url.replace(branchSearch[0], '/latest/apidoc/');
fetch(link, {method: 'head'}).then(function(response) {
var a = document.getElementById('latest-link');
a.href = response.status == 200 ? link : '../../latest/apidoc/';
});
var latestCheck = document.getElementById('latest-check');
latestCheck.style.display = '';
document.getElementById('latest-dismiss').onclick = function() {
latestCheck.style.display = 'none';
document.cookie = cookieText;
function getWeightFunction(searchTerm, allowRegex) {
function makeRe(searchTerm) {
return {
begin: new RegExp('\\b' + searchTerm), // Begin matches word boundary
baseName: new RegExp('\\b' + searchTerm + '[^/]*$'), // Begin matches word boundary of class / module name
fullName: new RegExp('\\b' + searchTerm + '(?:[~.]|$)'), // Complete word(s) of class / module matches
completeName: new RegExp('^' + searchTerm + '$') // Match from start to finish
}
}
const re = constructRegex(searchTerm, makeRe, allowRegex);
return function (matchedItem, beginOnly) {
// We could get smarter on the weight here
const name = matchedItem.dataset.name;
if (beginOnly) {
return re.baseName.test(name) ? 100 : 1;
}
// If everything else is equal, prefer shorter names, and prefer classes over modules
let weight = 10000 + matchedItem.dataset.longname.length - name.length * 100;
if (name.match(re.begin)) {
weight += 10000;
if (re.baseName.test(name)) {
weight += 10000;
if (re.fullName.test(name)) {
weight += 10000;
if (re.completeName.test(name)) {
weight += 10000;
}
}
}
}
});
return weight;
}
}
// create source code links to github
var srcLinks = $('div.tag-source');
srcLinks.each(function(i, el) {
var textParts = el.innerHTML.trim().split(', ');
var link = 'https://github.com/openlayers/openlayers/blob/v' + currentVersion + '/src/ol/' +
textParts[0];
el.innerHTML = '<a href="' + link + '">' + textParts[0] + '</a>, ' +
'<a href="' + link + textParts[1].replace('line ', '#L') + '">' +
textParts[1] + '</a>';
});
const search = (function () {
const $navList = $('.navigation-list');
const navListNode = $navList.get(0);
let $classItems;
let $members;
let stateClass = (function () {
$navList.removeClass('search-started searching');
$navList.addClass('search-empty');
return 'search-empty';
})();
let manualToggles = {};
// Highlighting current anchor
var anchors = $('.anchor');
var _onHashChange = function () {
var activeHash = window.document.location.hash
.replace(/\./g, '\\.') // Escape dot in element id
.replace(/\~/g, '\\~'); // Escape tilde in element id
anchors.removeClass('highlighted');
if (activeHash.length > 0) {
anchors.filter(activeHash).addClass('highlighted');
// Show an item related a current documentation automatically
const longname = $('.page-title').data('filename')
.replace(/\.[a-z]+$/, '')
.replace('module-', 'module:')
.replace(/_/g, '/')
.replace(/-/g, '~');
const currentItem = navListNode.querySelector('.item[data-longname="' + longname + '"]');
if (currentItem) {
$navList.prepend(currentItem);
}
return {
$navList: $navList,
$currentItem: currentItem ? $(currentItem) : undefined,
lastSearchTerm: undefined,
lastState: {},
getClassList: function () {
return $classItems || ($classItems = $navList.find('li.item'));
},
getMembers: function () {
return $members || ($members = $navList.find('.item li'));
},
changeStateClass: function (newClass) {
if (newClass !== stateClass) {
navListNode.classList.remove(stateClass);
navListNode.classList.add(newClass);
stateClass = newClass;
}
},
manualToggle: function ($node, show) {
$node.addClass('toggle-manual');
$node.toggleClass('toggle-manual-hide', !show);
$node.toggleClass('toggle-manual-show', show);
manualToggles[$node.data('longname')] = $node;
},
clearManualToggles: function() {
for (let clsName in manualToggles) {
manualToggles[clsName].removeClass('toggle-manual toggle-manual-show toggle-manual-hide');
}
manualToggles = {};
},
};
})();
$(window).on('hashchange', _onHashChange);
_onHashChange();
const dummy = {subItems: {}};
function clearOldMatches(lastState, searchState) {
for (let itemName in lastState) {
const lastItem = lastState[itemName];
const item = searchState[itemName];
if (!item) {
lastItem.item.classList.remove('match');
}
if (lastItem.subItems) {
clearOldMatches(lastItem.subItems, (item || dummy).subItems);
}
}
}
function doSearch(searchTerm) {
searchTerm = searchTerm.toLowerCase();
const lastSearchTerm = search.lastSearchTerm;
if (searchTerm === lastSearchTerm) {
return;
}
// Avoid layout reflow by scrolling to top first.
search.$navList.scrollTop(0);
search.lastSearchTerm = searchTerm;
search.clearManualToggles();
if (searchTerm.length < minInputForSearch) {
const state = searchTerm.length && expandAllOnInputWithoutSearch ? 'search-started' : 'search-empty';
search.changeStateClass(state);
if (lastSearchTerm !== undefined && lastSearchTerm.length >= minInputForSearch) {
// Restore the original, sorted order
search.$navList.append(search.getClassList());
}
if (state === 'search-empty' && search.$currentItem) {
search.manualToggle(search.$currentItem, true);
}
} else {
search.changeStateClass('searching');
searchTerm = searchTerm.toLowerCase();
const beginOnly = searchTerm.length < minInputForFullText;
const getSearchWeight = getWeightFunction(searchTerm, allowRegex);
const re = constructRegex(searchTerm, function (searchTerm) {
return new RegExp((beginOnly ? '\\b' : '') + searchTerm);
}, allowRegex);
const navList = search.$navList.get(0);
const classes = [];
const searchState = {};
search.getClassList().each(function (i, classEntry) {
const className = classEntry.dataset.longname;
if (!(className in searchState) && re.test(classEntry.dataset.name)) {
const cls = searchState[className] = {
item: classEntry,
// Do the weight thing
weight: getSearchWeight(classEntry, beginOnly) * 100000,
subItems: {}
};
classes.push(cls);
classEntry.classList.add('match');
}
});
search.getMembers().each(function (i, li) {
const name = li.dataset.name;
if (re.test(name)) {
const itemMember = li.parentElement.parentElement;
const classEntry = itemMember.parentElement;
const className = classEntry.dataset.longname;
let cls = searchState[className];
if (!cls) {
cls = searchState[className] = {
item: classEntry,
weight: 0,
subItems: {}
};
classes.push(cls);
classEntry.classList.add('match');
}
cls.weight += getSearchWeight(li, true);
const memberType = itemMember.dataset.type;
let members = cls.subItems[memberType];
if (!members) {
members = cls.subItems[memberType] = {
item: itemMember,
subItems: {}
};
itemMember.classList.add('match');
}
members.subItems[name] = { item: li };
li.classList.add('match');
}
});
clearOldMatches(search.lastState, searchState);
search.lastState = searchState;
classes.sort(function (a, b) {
return a.weight - b.weight;
});
for (let i = classes.length - 1; i >= 0; --i) {
navList.appendChild(classes[i].item);
}
}
}
const searchInput = $('#search').get(0);
// Skip searches when typing fast.
let key;
function queueSearch() {
if (!key) {
key = setTimeout(function () {
key = undefined;
const searchTerm = searchInput.value;
doSearch(searchTerm);
}, 0);
}
}
// Search Items
searchInput.addEventListener('input', queueSearch);
doSearch(searchInput.value);
// Toggle when click an item element
search.$navList.on('click', '.toggle', function (e) {
if (event.target.tagName.toLowerCase() === 'a') {
return;
}
const clsItem = $(this).closest('.item');
let show;
if (clsItem.hasClass('toggle-manual-show')) {
show = false;
} else if (clsItem.hasClass('toggle-manual-hide')) {
show = true;
} else {
clsItem.find('.member-list li').each(function (i, v) {
show = $(v).is(':hidden');
return !show;
});
}
search.manualToggle(clsItem, !!show);
});
// Auto resizing on navigation
var _onResize = function () {
var height = $(window).height();
var $el = $('.navigation');
$el.height(height).find('.navigation-list').height(height - 133);
};
$(window).on('resize', _onResize);
_onResize();
var currentVersion = document.getElementById('package-version').innerHTML;
// warn about outdated version
var packageUrl = 'https://raw.githubusercontent.com/openlayers/openlayers.github.io/build/package.json';
fetch(packageUrl).then(function(response) {
return response.json();
}).then(function(json) {
var latestVersion = json.version;
document.getElementById('latest-version').innerHTML = latestVersion;
var url = window.location.href;
var branchSearch = url.match(/\/([^\/]*)\/apidoc\//);
var cookieText = 'dismissed=-' + latestVersion + '-';
var dismissed = document.cookie.indexOf(cookieText) != -1;
if (branchSearch && !dismissed && /^v[0-9\.]*$/.test(branchSearch[1]) && currentVersion != latestVersion) {
var link = url.replace(branchSearch[0], '/latest/apidoc/');
fetch(link, {method: 'head'}).then(function(response) {
var a = document.getElementById('latest-link');
a.href = response.status == 200 ? link : '../../latest/apidoc/';
});
var latestCheck = document.getElementById('latest-check');
latestCheck.style.display = '';
document.getElementById('latest-dismiss').onclick = function() {
latestCheck.style.display = 'none';
document.cookie = cookieText;
}
}
});
// create source code links to github
var srcLinks = $('div.tag-source');
srcLinks.each(function(i, el) {
var textParts = el.innerHTML.trim().split(', ');
var link = 'https://github.com/openlayers/openlayers/blob/v' + currentVersion + '/src/ol/' +
textParts[0];
el.innerHTML = '<a href="' + link + '">' + textParts[0] + '</a>, ' +
'<a href="' + link + textParts[1].replace('line ', '#L') + '">' +
textParts[1] + '</a>';
});
});

View File

@@ -36,7 +36,7 @@
.navbar-inverse .navbar-nav>li>a:hover,
.navbar-inverse .navbar-nav>li>a:focus,
.navbar-inverse .navbar-nav>li>a.active
{
{
outline:0;
color: #fff;
background-color: #268591;
@@ -51,7 +51,8 @@ body {
width: 0px;
height: 0px;
}
.nameContainer .anchor.highlighted + h4 {
/* Highlighting current anchor */
.nameContainer .anchor:target + h4 {
background-color: #faebcc;
}
a {
@@ -106,6 +107,15 @@ li {
.navigation .applicationName a {
color: #fff;
}
.navigation .include-modules {
color: #e1e1e1;
float: right;
font-size: 0.75em;
padding: 5px 15px;
}
.navigation .include-modules input {
vertical-align: text-bottom;
}
.navigation .search {
padding: 10px 15px;
}
@@ -114,7 +124,7 @@ li {
color: #fff;
border-color: #555;
}
.navigation .list {
.navigation .navigation-list {
padding: 10px 15px 0 15px;
position: relative;
overflow: auto;
@@ -125,6 +135,29 @@ li {
padding-bottom: 8px;
border-bottom: 1px solid #333;
}
.navigation .glyphicon {
margin-right: 3px;
flex-shrink: 0;
}
.navigation .item .glyphicon:before {
display: inline-block;
}
.navigation .item.toggle-manual .glyphicon:before {
transition: transform .1s;
}
.navigation .item-class.toggle-manual-show .glyphicon:before {
/* With 90deg the icon slightly slides left at transition end */
transform: rotate(89.9deg);
}
.navigation .item-module.toggle-manual-show .glyphicon:before {
transform: rotate(45deg);
}
.navigation li.perfect-match {
border: 5px solid orange;
}
.navigation li.item a {
color: #bbb;
}
@@ -133,8 +166,8 @@ li {
}
.navigation li.item .title {
cursor: pointer;
position: relative;
display: block;
display: -ms-flexbox;
display: flex;
font-size: 0.85em;
}
.navigation li.item .title a {
@@ -158,14 +191,53 @@ li {
color: #1F6B75;
display: block;
}
.navigation li.item .modulelink {
position: relative;
font-size: 0.75em;
padding-left: 5px;
top: -5px;
}
.navigation li.item ul > li {
font-size: 0.75em;
padding-left: 8px;
margin-top: 2px;
}
.navigation li.item .itemMembers {
.navigation li.item .member-list {
padding-left: 8px;
}
/* search state */
/* show all classes when search is empty */
.navigation-list.search-empty .item {
display: block;
}
/* hide all members by default when search is empty */
.navigation-list.search-empty .item .member-list {
display: none;
}
/* expand all members when input in search field available but too short to search */
.navigation-list.search-started li,
.navigation-list.search-started .member-list {
display: block;
}
/* when searching hide everything that is not a match */
.navigation-list.searching li,
.navigation-list.searching .member-list {
display: none;
}
.navigation-list.searching .match {
display: block;
}
/* allow user to hide / show members */
.navigation-list .item.toggle-manual-show li,
.navigation-list .item.toggle-manual-show .member-list {
display: block!important;
}
.navigation-list:not(.searching) .item.toggle-manual-hide li,
.navigation-list:not(.searching) .item.toggle-manual-hide .member-list {
display: none!important;
}
.main {
padding: 20px 20px;
margin-left: 250px;

View File

@@ -0,0 +1,81 @@
/* Carbon adds (see https://sell.buysellads.com) */
#ad {
margin-left: 1em;
float: right;
width: 330px;
min-height: 125px;
}
#carbonads {
font-family: "Quattrocento Sans", "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif;
}
#carbonads {
display: flex;
}
#carbonads a {
color: inherit;
text-decoration: none;
}
#carbonads a:hover {
color: inherit;
}
#carbonads span {
position: relative;
display: block;
overflow: hidden;
}
#carbonads .carbon-wrap {
display: flex;
}
.carbon-img {
display: block;
margin: 0;
line-height: 1;
}
.carbon-img img {
display: block;
}
.carbon-text {
font-size: 13px;
padding: 10px;
line-height: 1.5;
text-align: left;
}
.carbon-poweredby {
display: block;
padding: 8px 10px;
text-align: center;
text-transform: uppercase;
letter-spacing: .5px;
font-weight: 600;
font-size: 9px;
line-height: 1;
}
#carbonads a.carbon-poweredby {
color: #aaa;
}
/* Clear the float after the advertisement. */
.container-overview {
clear: both;
}
pre.source {
clear: both;
}
section.content {
overflow-y: auto;
}

View File

@@ -9,7 +9,7 @@
<?js= self.partial('source.tmpl', doc) ?>
<?js } else { ?>
<section>
<section class="content">
<header>
<h2><?js if (doc.ancestors && doc.ancestors.length) { ?>
@@ -41,6 +41,9 @@
<pre class="prettyprint source"><code>import <?js= doc.name ?> from '<?js= importPath ?>';</code></pre>
<?js } ?>
<?js } ?>
<div id="ad">
<script async type="text/javascript" src="https://cdn.carbonads.com/carbon.js?serve=CE7DV53U&placement=openlayersorg" id="_carbonads_js"></script>
</div>
<?js if (doc.classdesc) { ?>
<div class="class-description"><?js= doc.classdesc ?></div>
<?js } ?>

View File

@@ -73,6 +73,7 @@ var version = obj.packageInfo.version;
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/bootstrap.min.css">
<link type="text/css" rel="stylesheet" href="styles/jaguar.css">
<link type="text/css" rel="stylesheet" href="styles/site.css">
</head>
<body>
@@ -91,7 +92,7 @@ var version = obj.packageInfo.version;
</div>
<div id="wrap" class="clearfix">
<?js= this.partial('navigation.tmpl', this) ?>
<?js= this.navigationHtml ?>
<div class="main">
<h1 class="page-title" data-filename="<?js= filename ?>"><?js= title ?></h1>
<div id="latest-check" class="alert alert-warning alert-dismissible" role="alert" style="display:none">

View File

@@ -64,7 +64,7 @@ var self = this;
<ul><?js fires.forEach(function(f) {
var parts = f.split(/#?event:/);
var type = parts.pop();
var eventClassName = parts[0];
var eventClass = self.find({longname: parts[0]})[0];
parts = type.split(' ');
type = parts.shift();
var description = parts.length ? parts.join(' ') : '';
@@ -74,12 +74,9 @@ var self = this;
}
?>
<li class="<?js= (eventDoclet || data).stability !== 'stable' ? 'unstable' : '' ?>">
<code><?js= eventClassName ? self.linkto(f, type) : type ?></code>
<?js if (eventClassName) {
var eventClass = self.find({longname: eventClassName})[0];
if (eventClass) { ?>
(<?js= self.linkto(eventClass.longname) ?>)
<?js } ?>
<code><?js= eventClass ? self.linkto(f, type) : type ?></code>
<?js if (eventClass) { ?>
(<?js= self.linkto(eventClass.longname) ?>)
<?js } ?>
<?js= self.partial('stability.tmpl', eventDoclet || (data.stability ? data : {})) ?>
<?js if (description) { ?> -

View File

@@ -1,103 +1,59 @@
<?js
var self = this;
function toShortName(name) {
return name.indexOf('module:') === 0 ? name.split('/').pop() : name;
return name.indexOf('module:') === 0 ? name.split('/').pop() : name;
}
function getItemCssClass(type) {
if (type === 'module') {
return 'glyphicon-plus';
} else if (type === 'class') {
return 'glyphicon-chevron-right';
}
return '';
}
const printList = v => { ?>
<li data-name="<?js= toShortName(v.name).toLowerCase() ?>"><?js
}
const printListWithStability = v => {
const cls = v.stability && v.stability !== 'stable' ? ' class="unstable"' : ''; ?>
<li data-name="<?js= toShortName(v.name).toLowerCase() ?>"<?js= cls ?>><?js
}
function listContent(item, title, listItemPrinter) {
const type = title.toLowerCase();
if (item[type] && item[type].length) { ?>
<div class="member-list" data-type="<?js= type ?>">
<span class="subtitle"><?js= title ?></span>
<ul><?js
item[type].forEach(function (v) {
listItemPrinter(v); ?><?js= self.linkto(v.longname, toShortName(v.name)) ?><?js
}); ?>
</ul>
</div><?js
}
}
?>
<div class="navigation">
<div class="search">
<input id="search" type="text" class="form-control input-sm" placeholder="Search Documentation">
</div>
<ul class="list">
<?js
let navbuilder;
this.nav.forEach(navbuilder = function (item) {
?>
<li class="item" data-name="<?js= item.longname ?>">
<span class="title">
<?js= self.linkto(item.longname, item.type === 'module' ? item.longname.replace('module:', '') : item.name) ?>
<?js if (item.type === 'namespace' &&
(item.members.length + item.typedefs.length + item.methods.length +
item.events.length > 0)) { ?>
<?js } ?>
</span>
<ul class="members itemMembers">
<?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) {
?>
<span class="subtitle">Members</span>
<?js
item.members.forEach(function (v) {
?>
<li data-name="<?js= v.longname ?>"><?js= self.linkto(v.longname, toShortName(v.name)) ?></li>
<?js
});
}
?>
</ul>
<ul class="typedefs itemMembers">
<?js
if (item.typedefs.length) {
?>
<span class="subtitle">Typedefs</span>
<?js
item.typedefs.forEach(function (v) {
?>
<li data-name="<?js= v.longname ?>" class="<?js= (v.stability && v.stability !== 'stable') ? 'unstable' : ''?>">
<?js= self.linkto(v.longname, toShortName(v.name)) ?>
</li>
<?js
});
}
?>
</ul>
<ul class="methods itemMembers">
<?js
if (item.methods.length) {
?>
<span class="subtitle">Methods</span>
<?js
item.methods.forEach(function (v) {
?>
<li data-name="<?js= v.longname ?>" class="<?js= (v.stability && v.stability !== 'stable') ? 'unstable' : ''?>">
<?js= self.linkto(v.longname, toShortName(v.name)) ?>
</li>
<?js
});
}
?>
</ul>
<ul class="fires itemMembers">
<?js
if (item.fires && item.fires.length) {
?>
<span class="subtitle">Fires</span>
<?js
item.fires.forEach(function (v) {
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' : '' ?>">
<?js= self.linkto(v.longname, toShortName(v.name)) ?>
</li>
<?js
});
}
?>
</ul>
</li>
<?js }); ?>
<ul class="navigation-list search-empty"><?js
this.nav.forEach(function (item) { ?>
<li class="item item-<?js= item.type ?>" data-longname="<?js= item.longname ?>" data-name="<?js= item.prettyname.toLowerCase() ?>">
<span class="title toggle">
<span class="glyphicon <?js= getItemCssClass(item.type) ?>"></span>
<span><?js= self.linkto(item.longname, item.prettyname.replace(/[.~]/g, '\u200b$&')) ?></span>
</span><?js
listContent(item, 'Members', printList);
listContent(item, 'Typedefs', printListWithStability);
listContent(item, 'Methods', printListWithStability);
if (item.fires) {
const fires = item.fires.map(v => self.find({longname: v})[0] || {longname: v, name: v.split(/#?event:/)[1]});
listContent({fires: fires}, 'Fires', printListWithStability)
}
}); ?>
</ul>
</div>

View File

@@ -8,7 +8,7 @@
<th>Name</th>
<th>Type</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>
</tr>
</thead>

View File

@@ -16,9 +16,8 @@
}
});
/* determine if we need extra columns, "attributes" and "default" */
/* determine if we need extra "attributes" column */
params.hasAttributes = false;
params.hasDefault = false;
params.hasName = false;
var colspan = 2;
@@ -40,10 +39,6 @@
params.hasName = true;
}
if (typeof param.defaultvalue !== 'undefined') {
++colspan;
params.hasDefault = true;
}
});
?>
@@ -56,10 +51,6 @@
<th>Type</th>
<?js if (params.hasDefault) {?>
<th>Default</th>
<?js } ?>
<th class="last">Description</th>
</tr>
</thead>
@@ -80,18 +71,14 @@
<td class="type">
<?js if (param.type && param.type.names) {?>
<?js= self.partial('type.tmpl', param.type.names) ?>
<?js if (typeof param.defaultvalue !== 'undefined') { ?>
(defaults to <?js= self.htmlsafe(param.defaultvalue) ?>)
<?js } ?>
<?js } ?>
</td>
<?js if (params.hasDefault) {?>
<td class="default">
<?js if (typeof param.defaultvalue !== 'undefined') { ?>
<?js= self.htmlsafe(param.defaultvalue) ?>
<?js } ?>
</td>
<?js } ?>
<?js } ?>
<td<?js= (param.subparams ? ' colspan=' + colspan : ' ') ?> class="description last">
<?js if (param.stability) { ?>
<?js= self.partial('stability.tmpl', param) ?>

View File

@@ -6,7 +6,7 @@ exports.defineTags = function(dictionary) {
const classTag = dictionary.lookUp('class');
dictionary.defineTag('interface', {
mustHaveValue: false,
mustNotHaveValue: true,
onTagged: function(doclet, tag) {
classTag.onTagged.apply(this, arguments);
doclet.virtual = true;

View File

@@ -7,8 +7,8 @@
"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. */
"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. */

View File

@@ -111,7 +111,7 @@ Features for `updates` must have an id set by the feature reader or `ol.Feature#
### 28
`renderMode` must be `'image'` or `'hybrid'`.
`renderMode` must be `'image'`, `'hybrid'` or `'vector'`.
### 29
@@ -241,11 +241,11 @@ Support for the `OES_element_index_uint` WebGL extension is mandatory for WebGL
Layer opacity must be a number.
### 65
A symbol literal representation must be defined on the style supplied to a `WebGLPointsLayer` instance.
### 66
`forEachFeatureAtCoordinate` cannot be used on a WebGL layer if the hit detection logic has not been enabled.
This is done by providing adequate shaders using the `hitVertexShader` and `hitFragmentShader` properties of `WebGLPointsLayerRenderer`.
### 67
A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both.

View File

@@ -6,7 +6,7 @@ docs: >
<p>When the Bing Maps tile service doesn't have tiles for a given resolution and region it returns "placeholder" tiles indicating that. Zoom the map beyond level 19 to see the "placeholder" tiles. If you want OpenLayers to display stretched tiles in place of "placeholder" tiles beyond zoom level 19 then set <code>maxZoom</code> to <code>19</code> in the options passed to <code>ol/source/BingMaps</code>.</p>
tags: "bing, bing-maps"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
- key: ApTJzdkyN1DdFKkRAE6QIDtzihNaf6IWJsT-nQ_2eMoO4PN__0Tzhl2-WgJtXFSp
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
---
<div id="map" class="map"></div>

View File

@@ -18,7 +18,7 @@ for (i = 0, ii = styles.length; i < ii; ++i) {
visible: false,
preload: Infinity,
source: new BingMaps({
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5',
key: 'ApTJzdkyN1DdFKkRAE6QIDtzihNaf6IWJsT-nQ_2eMoO4PN__0Tzhl2-WgJtXFSp ',
imagerySet: styles[i]
// use maxZoom 19 to see stretched tiles instead of the BingMaps
// "no photos at this zoom level" tiles

View File

@@ -2,6 +2,6 @@
<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg">
<g>
<rect width="20" height="20" style="fill:#fff" />
<rect width="20" height="20" style="fill:#fff; stroke-width:4px; stroke:#000" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 194 B

After

Width:  |  Height:  |  Size: 225 B

5188
examples/data/world.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 3.2 MiB

View File

@@ -4,10 +4,10 @@ title: Drag-and-Drop Image Vector
shortdesc: Example of using the drag-and-drop interaction with image vector rendering.
docs: >
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, maptiler, vector, image"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: get_your_own_D6rA4zTHduk6KOKTXzGB
value: Get your own API key at https://www.maptiler.com/cloud/
---
<div id="map" class="map"></div>
<div id="info">&nbsp;</div>

View File

@@ -3,7 +3,7 @@ import View from '../src/ol/View.js';
import {GPX, GeoJSON, IGC, KML, TopoJSON} from '../src/ol/format.js';
import {defaults as defaultInteractions, DragAndDrop} from '../src/ol/interaction.js';
import {VectorImage as VectorImageLayer, Tile as TileLayer} from '../src/ol/layer.js';
import {BingMaps, Vector as VectorSource} from '../src/ol/source.js';
import {XYZ, Vector as VectorSource} from '../src/ol/source.js';
const dragAndDropInteraction = new DragAndDrop({
formatConstructors: [
@@ -15,13 +15,18 @@ const dragAndDropInteraction = new DragAndDrop({
]
});
const key = 'get_your_own_D6rA4zTHduk6KOKTXzGB';
const attributions = '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> ' +
'<a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>';
const map = new Map({
interactions: defaultInteractions().extend([dragAndDropInteraction]),
layers: [
new TileLayer({
source: new BingMaps({
imagerySet: 'Aerial',
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5'
source: new XYZ({
attributions: attributions,
url: 'https://api.maptiler.com/tiles/satellite/{z}/{x}/{y}.jpg?key=' + key,
maxZoom: 20
})
})
],

View File

@@ -4,10 +4,10 @@ title: Drag-and-Drop
shortdesc: Example of using the drag-and-drop interaction.
docs: >
Example of using the drag-and-drop interaction. Drag and drop GPX, GeoJSON, IGC, KML, or TopoJSON files on to the map. There is no projection transform support, so this will only work with data in EPSG:4326 and EPSG:3857.
tags: "drag-and-drop, gpx, geojson, igc, kml, topojson"
tags: "drag-and-drop, gpx, geojson, igc, kml, topojson, maptiler"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: get_your_own_D6rA4zTHduk6KOKTXzGB
value: Get your own API key at https://www.maptiler.com/cloud/
---
<div id="map" class="map"></div>
<div id="info">&nbsp;</div>

View File

@@ -3,7 +3,7 @@ import View from '../src/ol/View.js';
import {GPX, GeoJSON, IGC, KML, TopoJSON} from '../src/ol/format.js';
import {defaults as defaultInteractions, DragAndDrop} from '../src/ol/interaction.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import {BingMaps, Vector as VectorSource} from '../src/ol/source.js';
import {XYZ, Vector as VectorSource} from '../src/ol/source.js';
const dragAndDropInteraction = new DragAndDrop({
formatConstructors: [
@@ -15,13 +15,18 @@ const dragAndDropInteraction = new DragAndDrop({
]
});
const key = 'get_your_own_D6rA4zTHduk6KOKTXzGB';
const attributions = '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> ' +
'<a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>';
const map = new Map({
interactions: defaultInteractions().extend([dragAndDropInteraction]),
layers: [
new TileLayer({
source: new BingMaps({
imagerySet: 'Aerial',
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5'
source: new XYZ({
attributions: attributions,
url: 'https://api.maptiler.com/tiles/satellite/{z}/{x}/{y}.jpg?key=' + key,
maxZoom: 20
})
})
],

View File

@@ -1,7 +1,7 @@
---
layout: example.html
title: Earthquakes with custom symbols
shortdesc: Demonstrates the use of `toCanvas` to create custom icon symbols.
shortdesc: Demonstrates the use of `toContext` to create custom icon symbols.
docs: >
This example parses a KML file and renders the features as a vector layer. The layer is given a <code>style</code> that renders earthquake locations with a custom lightning symbol and a size relative to their magnitude.
tags: "KML, vector, style, canvas, symbol"

View File

@@ -0,0 +1,9 @@
---
layout: example.html
title: Custom map element
shortdesc: Example of a custom element with a map.
docs: >
The example creates and registers a custom element, `ol-map`, which contains a simple map. **Note:** Only works in browsers that supports `ShadowRoot`.
tags: "es2015, web-component, custom-element, shadow-dom"
---
<ol-map id="map" class="map"></ol-map>

View File

@@ -0,0 +1,43 @@
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import TileLayer from '../src/ol/layer/Tile.js';
import OSM from '../src/ol/source/OSM.js';
class OLComponent extends HTMLElement {
constructor() {
super();
this.shadow = this.attachShadow({mode: 'open'});
const link = document.createElement('link');
link.setAttribute('rel', 'stylesheet');
link.setAttribute('href', 'css/ol.css');
this.shadow.appendChild(link);
const style = document.createElement('style');
style.innerText = `
:host {
display: block;
}
`;
this.shadow.appendChild(style);
const div = document.createElement('div');
div.style.width = '100%';
div.style.height = '100%';
this.shadow.appendChild(div);
this.map = new Map({
target: div,
layers: [
new TileLayer({
source: new OSM()
})
],
view: new View({
center: [0, 0],
zoom: 2
})
});
}
}
customElements.define('ol-map', OLComponent);

View File

@@ -1,6 +0,0 @@
.overlay {
background-color: yellow;
border-radius: 6px;
padding: 4px;
white-space: nowrap;
}

View File

@@ -3,13 +3,9 @@ layout: example.html
title: Map Export
shortdesc: Example of exporting a map as a PNG image.
docs: >
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>
library.
Example of exporting a map as a PNG image.
tags: "export, png, openstreetmap"
---
<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="image-download" download="map.png"></a>

View File

@@ -1,12 +1,9 @@
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import Overlay from '../src/ol/Overlay.js';
import GeoJSON from '../src/ol/format/GeoJSON.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import {OSM, Vector as VectorSource} from '../src/ol/source.js';
import {toPng} from 'html-to-image';
const map = new Map({
layers: [
new TileLayer({
@@ -16,7 +13,8 @@ const map = new Map({
source: new VectorSource({
url: 'data/geojson/countries.geojson',
format: new GeoJSON()
})
}),
opacity: 0.5
})
],
target: 'map',
@@ -26,28 +24,33 @@ const map = new Map({
})
});
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() {
map.once('rendercomplete', function() {
toPng(map.getTargetElement(), exportOptions)
.then(function(dataURL) {
const link = document.getElementById('image-download');
link.href = dataURL;
link.click();
});
const mapCanvas = document.createElement('canvas');
const size = map.getSize();
mapCanvas.width = size[0];
mapCanvas.height = size[1];
const mapContext = mapCanvas.getContext('2d');
Array.prototype.forEach.call(document.querySelectorAll('.ol-layer canvas'), function(canvas) {
if (canvas.width > 0) {
const opacity = canvas.parentNode.style.opacity;
mapContext.globalAlpha = opacity === '' ? 1 : Number(opacity);
const transform = canvas.style.transform;
// Get the transform parameters from the style's transform matrix
const matrix = transform.match(/^matrix\(([^\(]*)\)$/)[1].split(',').map(Number);
// Apply the transform to the export map context
CanvasRenderingContext2D.prototype.setTransform.apply(mapContext, matrix);
mapContext.drawImage(canvas, 0, 0);
}
});
if (navigator.msSaveBlob) {
// link download attribuute does not work on MS browsers
navigator.msSaveBlob(mapCanvas.msToBlob(), 'map.png');
} else {
const link = document.getElementById('image-download');
link.href = mapCanvas.toDataURL();
link.click();
}
});
map.renderSync();
});

View File

@@ -6,7 +6,7 @@ docs: >
Example of exporting a map as a PDF using the <a href="https://github.com/MrRio/jsPDF" target="_blank">jsPDF</a> library.
tags: "export, pdf, openstreetmap"
resources:
- https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.2.61/jspdf.min.js
- https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.min.js
---
<div class="row-fluid">
<div class="span12">

View File

@@ -4,8 +4,6 @@ import WKT from '../src/ol/format/WKT.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import {OSM, Vector as VectorSource} from '../src/ol/source.js';
import {toJpeg} from 'html-to-image';
const raster = new TileLayer({
source: new OSM()
});
@@ -20,7 +18,8 @@ feature.getGeometry().transform('EPSG:4326', 'EPSG:3857');
const vector = new VectorLayer({
source: new VectorSource({
features: [feature]
})
}),
opacity: 0.5
});
@@ -44,14 +43,6 @@ const dims = {
};
// 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');
exportButton.addEventListener('click', function() {
@@ -68,18 +59,30 @@ exportButton.addEventListener('click', function() {
const viewResolution = map.getView().getResolution();
map.once('rendercomplete', function() {
exportOptions.width = width;
exportOptions.height = height;
toJpeg(map.getViewport(), exportOptions).then(function(dataUrl) {
const pdf = new jsPDF('landscape', undefined, format);
pdf.addImage(dataUrl, 'JPEG', 0, 0, dim[0], dim[1]);
pdf.save('map.pdf');
// Reset original map size
map.setSize(size);
map.getView().setResolution(viewResolution);
exportButton.disabled = false;
document.body.style.cursor = 'auto';
const mapCanvas = document.createElement('canvas');
mapCanvas.width = width;
mapCanvas.height = height;
const mapContext = mapCanvas.getContext('2d');
Array.prototype.forEach.call(document.querySelectorAll('.ol-layer canvas'), function(canvas) {
if (canvas.width > 0) {
const opacity = canvas.parentNode.style.opacity;
mapContext.globalAlpha = opacity === '' ? 1 : Number(opacity);
const transform = canvas.style.transform;
// Get the transform parameters from the style's transform matrix
const matrix = transform.match(/^matrix\(([^\(]*)\)$/)[1].split(',').map(Number);
// Apply the transform to the export map context
CanvasRenderingContext2D.prototype.setTransform.apply(mapContext, matrix);
mapContext.drawImage(canvas, 0, 0);
}
});
const pdf = new jsPDF('landscape', undefined, format);
pdf.addImage(mapCanvas.toDataURL('image/jpeg'), 'JPEG', 0, 0, dim[0], dim[1]);
pdf.save('map.pdf');
// Reset original map size
map.setSize(size);
map.getView().setResolution(viewResolution);
exportButton.disabled = false;
document.body.style.cursor = 'auto';
});
// Set print size

View File

@@ -6,10 +6,10 @@ docs: >
This example shows how to use <b>postrender</b> events and a <b>vector context</b> to
animate a marker feature along a line. In this example an encoded polyline
is being used.
tags: "animation, feature, postrender, polyline"
tags: "animation, feature, postrender, polyline, maptiler"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: get_your_own_D6rA4zTHduk6KOKTXzGB
value: Get your own API key at https://www.maptiler.com/cloud/
---
<div id="map" class="map"></div>
<label for="speed">

View File

@@ -4,7 +4,7 @@ import View from '../src/ol/View.js';
import Polyline from '../src/ol/format/Polyline.js';
import Point from '../src/ol/geom/Point.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import BingMaps from '../src/ol/source/BingMaps.js';
import XYZ from '../src/ol/source/XYZ.js';
import VectorSource from '../src/ol/source/Vector.js';
import {Circle as CircleStyle, Fill, Icon, Stroke, Style} from '../src/ol/style.js';
import {getVectorContext} from '../src/ol/render.js';
@@ -121,6 +121,10 @@ const vectorLayer = new VectorLayer({
}
});
const key = 'get_your_own_D6rA4zTHduk6KOKTXzGB';
const attributions = '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> ' +
'<a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>';
const center = [-5639523.95, -3501274.52];
const map = new Map({
target: document.getElementById('map'),
@@ -132,9 +136,10 @@ const map = new Map({
}),
layers: [
new TileLayer({
source: new BingMaps({
imagerySet: 'AerialWithLabelsOnDemand',
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5'
source: new XYZ({
attributions: attributions,
url: 'https://api.maptiler.com/maps/hybrid/{z}/{x}/{y}.jpg?key=' + key,
tileSize: 512
})
}),
vectorLayer

View File

@@ -3,14 +3,14 @@ layout: example.html
title: Filtering features with WebGL
shortdesc: Using WebGL to filter large quantities of features
docs: >
This example shows how to use `ol/renderer/webgl/PointsLayer` to dynamically filter a large amount
This example shows how to use `ol/layer/WebGLPoints` with a literal style to dynamically filter a large amount
of point geometries. The above map is based on a dataset from the NASA containing 45k recorded meteorite
landing sites. Each meteorite is marked by a circle on the map (the bigger the circle, the heavier
the object). A pulse effect has been added, which is slightly offset by the year of the impact.
Adjusting the sliders causes the objects outside of the date range to be filtered out of the map. This is done using
a custom fragment shader on the layer renderer, and by using the `v_opacity` attribute of the rendered objects
to store the year of impact.
Adjusting the sliders causes the objects outside of the date range to be filtered out of the map. This is done
by mutating the variables in the `style` object provided to the WebGL layer. Also note that the last snippet
of code is necessary to make sure the map refreshes itself every frame.
tags: "webgl, icon, sprite, filter, feature"
experimental: true

View File

@@ -3,162 +3,115 @@ import View from '../src/ol/View.js';
import TileLayer from '../src/ol/layer/Tile.js';
import Feature from '../src/ol/Feature.js';
import Point from '../src/ol/geom/Point.js';
import VectorLayer from '../src/ol/layer/Vector.js';
import {Vector} from '../src/ol/source.js';
import {fromLonLat} from '../src/ol/proj.js';
import WebGLPointsLayerRenderer from '../src/ol/renderer/webgl/PointsLayer.js';
import {clamp} from '../src/ol/math.js';
import Stamen from '../src/ol/source/Stamen.js';
import {formatColor} from '../src/ol/webgl/ShaderBuilder.js';
import WebGLPointsLayer from '../src/ol/layer/WebGLPoints.js';
const vectorSource = new Vector({
attributions: 'NASA'
});
const oldColor = [180, 140, 140];
const newColor = [255, 80, 80];
const oldColor = 'rgba(242,56,22,0.61)';
const newColor = '#ffe52c';
const period = 12; // animation period in seconds
const animRatio =
['^',
['/',
['%',
['+',
['time'],
[
'interpolate',
['linear'],
['get', 'year'],
1850, 0,
2015, period
]
],
period
],
period
],
0.5
];
const startTime = Date.now() * 0.001;
const style = {
variables: {
minYear: 1850,
maxYear: 2015
},
filter: ['between', ['get', 'year'], ['var', 'minYear'], ['var', 'maxYear']],
symbol: {
symbolType: 'circle',
size: ['*',
['interpolate', ['linear'], ['get', 'mass'], 0, 8, 200000, 26],
['-', 1.75, ['*', animRatio, 0.75]]
],
color: ['interpolate',
['linear'],
animRatio,
0, newColor,
1, oldColor
],
opacity: ['-', 1.0, ['*', animRatio, 0.75]]
}
};
// hanle input values & events
// handle input values & events
const minYearInput = document.getElementById('min-year');
const maxYearInput = document.getElementById('max-year');
function updateMinYear() {
style.variables.minYear = parseInt(minYearInput.value);
updateStatusText();
}
function updateMaxYear() {
style.variables.maxYear = parseInt(maxYearInput.value);
updateStatusText();
}
function updateStatusText() {
const div = document.getElementById('status');
div.querySelector('span.min-year').textContent = minYearInput.value;
div.querySelector('span.max-year').textContent = maxYearInput.value;
}
minYearInput.addEventListener('input', updateStatusText);
minYearInput.addEventListener('change', updateStatusText);
maxYearInput.addEventListener('input', updateStatusText);
maxYearInput.addEventListener('change', updateStatusText);
minYearInput.addEventListener('input', updateMinYear);
minYearInput.addEventListener('change', updateMinYear);
maxYearInput.addEventListener('input', updateMaxYear);
maxYearInput.addEventListener('change', updateMaxYear);
updateStatusText();
class WebglPointsLayer extends VectorLayer {
createRenderer() {
return new WebGLPointsLayerRenderer(this, {
attributes: [
{
name: 'size',
callback: function(feature) {
return 18 * clamp(feature.get('mass') / 200000, 0, 1) + 8;
}
},
{
name: 'year',
callback: function(feature) {
return feature.get('year');
}
}
],
vertexShader: [
'precision mediump float;',
// load data
const client = new XMLHttpRequest();
client.open('GET', 'data/csv/meteorite_landings.csv');
client.onload = function() {
const csv = client.responseText;
const features = [];
'uniform mat4 u_projectionMatrix;',
'uniform mat4 u_offsetScaleMatrix;',
'uniform mat4 u_offsetRotateMatrix;',
'attribute vec2 a_position;',
'attribute float a_index;',
'attribute float a_size;',
'attribute float a_year;',
'varying vec2 v_texCoord;',
'varying float v_year;',
let prevIndex = csv.indexOf('\n') + 1; // scan past the header line
'void main(void) {',
' mat4 offsetMatrix = u_offsetScaleMatrix;',
' float offsetX = a_index == 0.0 || a_index == 3.0 ? -a_size / 2.0 : a_size / 2.0;',
' float offsetY = a_index == 0.0 || a_index == 1.0 ? -a_size / 2.0 : a_size / 2.0;',
' vec4 offsets = offsetMatrix * vec4(offsetX, offsetY, 0.0, 0.0);',
' gl_Position = u_projectionMatrix * vec4(a_position, 0.0, 1.0) + offsets;',
' float u = a_index == 0.0 || a_index == 3.0 ? 0.0 : 1.0;',
' float v = a_index == 0.0 || a_index == 1.0 ? 0.0 : 1.0;',
' v_texCoord = vec2(u, v);',
' v_year = a_year;',
'}'
].join(' '),
fragmentShader: [
'precision mediump float;',
let curIndex;
while ((curIndex = csv.indexOf('\n', prevIndex)) != -1) {
const line = csv.substr(prevIndex, curIndex - prevIndex).split(',');
prevIndex = curIndex + 1;
'uniform float u_time;',
'uniform float u_minYear;',
'uniform float u_maxYear;',
'varying vec2 v_texCoord;',
'varying float v_year;',
'void main(void) {',
// filter out pixels if the year is outside of the given range
' if (v_year < u_minYear || v_year > u_maxYear) {',
' discard;',
' }',
' vec2 texCoord = v_texCoord * 2.0 - vec2(1.0, 1.0);',
' float sqRadius = texCoord.x * texCoord.x + texCoord.y * texCoord.y;',
' float value = 2.0 * (1.0 - sqRadius);',
' float alpha = smoothstep(0.0, 1.0, value);',
// color is interpolated based on year
' float ratio = clamp((v_year - 1800.0) / (2013.0 - 1800.0), 0.0, 1.1);',
' vec3 color = mix(vec3(' + formatColor(oldColor) + '),',
' vec3(' + formatColor(newColor) + '), ratio);',
' float period = 8.0;',
' color.g *= 2.0 * (1.0 - sqrt(mod(u_time + v_year * 0.025, period) / period));',
' gl_FragColor = vec4(color, 1.0);',
' gl_FragColor.a *= alpha;',
' gl_FragColor.rgb *= gl_FragColor.a;',
'}'
].join(' '),
uniforms: {
u_time: function() {
return Date.now() * 0.001 - startTime;
},
u_minYear: function() {
return parseInt(minYearInput.value);
},
u_maxYear: function() {
return parseInt(maxYearInput.value);
}
}
});
}
}
function loadData() {
const client = new XMLHttpRequest();
client.open('GET', 'data/csv/meteorite_landings.csv');
client.onload = function() {
const csv = client.responseText;
const features = [];
let prevIndex = csv.indexOf('\n') + 1; // scan past the header line
let curIndex;
while ((curIndex = csv.indexOf('\n', prevIndex)) != -1) {
const line = csv.substr(prevIndex, curIndex - prevIndex).split(',');
prevIndex = curIndex + 1;
const coords = fromLonLat([parseFloat(line[4]), parseFloat(line[3])]);
if (isNaN(coords[0]) || isNaN(coords[1])) {
// guard against bad data
continue;
}
features.push(new Feature({
mass: parseFloat(line[1]) || 0,
year: parseInt(line[2]) || 0,
geometry: new Point(coords)
}));
const coords = fromLonLat([parseFloat(line[4]), parseFloat(line[3])]);
if (isNaN(coords[0]) || isNaN(coords[1])) {
// guard against bad data
continue;
}
vectorSource.addFeatures(features);
};
client.send();
}
features.push(new Feature({
mass: parseFloat(line[1]) || 0,
year: parseInt(line[2]) || 0,
geometry: new Point(coords)
}));
}
loadData();
vectorSource.addFeatures(features);
};
client.send();
const map = new Map({
layers: [
@@ -167,8 +120,10 @@ const map = new Map({
layer: 'toner'
})
}),
new WebglPointsLayer({
source: vectorSource
new WebGLPointsLayer({
style: style,
source: vectorSource,
disableHitDetection: true
})
],
target: document.getElementById('map'),

View File

@@ -5,9 +5,9 @@ shortdesc: Example of drag rotate and zoom control with full screen effect.
docs: >
<p>Hold down <code>Shift+Drag</code> to rotate and zoom. Click the button in the top right corner to go full screen. Then do the <code>Shift+Drag</code> thing again.</p>
<p>If there is no button on the map, your browser does not support the <a href="http://caniuse.com/#feat=fullscreen">Full Screen API</a>.</p>
tags: "full-screen, drag, rotate, zoom, bing, bing-maps"
tags: "full-screen, drag, rotate, zoom, xyz, maptiler"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: get_your_own_D6rA4zTHduk6KOKTXzGB
value: Get your own API key at https://www.maptiler.com/cloud/
---
<div id="map" class="map"></div>

View File

@@ -3,9 +3,13 @@ import View from '../src/ol/View.js';
import {defaults as defaultControls, FullScreen} from '../src/ol/control.js';
import {defaults as defaultInteractions, DragRotateAndZoom} from '../src/ol/interaction.js';
import TileLayer from '../src/ol/layer/Tile.js';
import BingMaps from '../src/ol/source/BingMaps.js';
import XYZ from '../src/ol/source/XYZ.js';
const key = 'get_your_own_D6rA4zTHduk6KOKTXzGB';
const attributions = '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> ' +
'<a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>';
const map = new Map({
controls: defaultControls().extend([
new FullScreen()
@@ -15,13 +19,13 @@ const map = new Map({
]),
layers: [
new TileLayer({
source: new BingMaps({
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5',
imagerySet: 'Aerial'
source: new XYZ({
attributions: attributions,
url: 'https://api.maptiler.com/tiles/satellite/{z}/{x}/{y}.jpg?key=' + key,
maxZoom: 20
})
})
],
// Use the canvas renderer because it's currently the fastest
target: 'map',
view: new View({
center: [-33519607, 5616436],

View File

@@ -5,9 +5,9 @@ shortdesc: Example of a full screen control.
docs: >
<p>Click the control in the top right corner to go full screen. Click it again to exit full screen.</p>
<p>If there is no button on the map, your browser does not support the <a href="http://caniuse.com/#feat=fullscreen">Full Screen API</a>.</p>
tags: "full-screen, bing, bing-maps"
tags: "full-screen, xyz, maptiler"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: get_your_own_D6rA4zTHduk6KOKTXzGB
value: Get your own API key at https://www.maptiler.com/cloud/
---
<div id="map" class="map"></div>

View File

@@ -2,7 +2,7 @@ import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {defaults as defaultControls, FullScreen} from '../src/ol/control.js';
import TileLayer from '../src/ol/layer/Tile.js';
import BingMaps from '../src/ol/source/BingMaps.js';
import XYZ from '../src/ol/source/XYZ.js';
const view = new View({
@@ -10,15 +10,20 @@ const view = new View({
zoom: 14
});
const key = 'get_your_own_D6rA4zTHduk6KOKTXzGB';
const attributions = '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> ' +
'<a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>';
const map = new Map({
controls: defaultControls().extend([
new FullScreen()
]),
layers: [
new TileLayer({
source: new BingMaps({
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5',
imagerySet: 'Aerial'
source: new XYZ({
attributions: attributions,
url: 'https://api.maptiler.com/tiles/satellite/{z}/{x}/{y}.jpg?key=' + key,
maxZoom: 20
})
})
],

View File

@@ -147,6 +147,7 @@ function updateView() {
view.setCenter(getCenterWithHeading(c, -c[2], view.getResolution()));
view.setRotation(-c[2]);
marker.setPosition(c);
map.render();
}
}

View File

@@ -4,10 +4,10 @@ title: GPX Data
shortdesc: Example of using the GPX source.
docs: >
Example of using the GPX source.
tags: "GPX"
tags: "GPX, maptiler"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: get_your_own_D6rA4zTHduk6KOKTXzGB
value: Get your own API key at https://www.maptiler.com/cloud/
---
<div id="map" class="map"></div>
<div id="info">&nbsp;</div>

View File

@@ -2,14 +2,19 @@ import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import GPX from '../src/ol/format/GPX.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import BingMaps from '../src/ol/source/BingMaps.js';
import XYZ from '../src/ol/source/XYZ.js';
import VectorSource from '../src/ol/source/Vector.js';
import {Circle as CircleStyle, Fill, Stroke, Style} from '../src/ol/style.js';
const key = 'get_your_own_D6rA4zTHduk6KOKTXzGB';
const attributions = '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> ' +
'<a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>';
const raster = new TileLayer({
source: new BingMaps({
imagerySet: 'Aerial',
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5'
source: new XYZ({
attributions: attributions,
url: 'https://api.maptiler.com/tiles/satellite/{z}/{x}/{y}.jpg?key=' + key,
maxZoom: 20
})
});

View File

@@ -16,16 +16,15 @@ const vector = new HeatmapLayer({
})
}),
blur: parseInt(blur.value, 10),
radius: parseInt(radius.value, 10)
});
vector.getSource().on('addfeature', function(event) {
// 2012_Earthquakes_Mag5.kml stores the magnitude of each earthquake in a
// standards-violating <magnitude> tag in each Placemark. We extract it from
// the Placemark's name instead.
const name = event.feature.get('name');
const magnitude = parseFloat(name.substr(2));
event.feature.set('weight', magnitude - 5);
radius: parseInt(radius.value, 10),
weight: function(feature) {
// 2012_Earthquakes_Mag5.kml stores the magnitude of each earthquake in a
// standards-violating <magnitude> tag in each Placemark. We extract it from
// the Placemark's name instead.
const name = feature.get('name');
const magnitude = parseFloat(name.substr(2));
return magnitude - 5;
}
});
const raster = new TileLayer({
@@ -34,7 +33,7 @@ const raster = new TileLayer({
})
});
const map = new Map({
new Map({
layers: [raster, vector],
target: 'map',
view: new View({

View File

@@ -0,0 +1,15 @@
---
layout: example.html
title: Vector Layer Hit Detection
shortdesc: Example of hit detection on a countries vector layer with country information.
docs: >
The countries are loaded from a GeoJSON file. Information about countries is
on hover and click is retrieved using the layer's `getFeatures()` method. For
vector layers, this function resolves with an array of only the topmost
feature. It uses a very efficient hit detection algorithm, at the cost of
accuracy. For pixel exact hit detection, when performance is not a concern,
use the map's `getFeaturesAtPixel()` or `forEachFeatureAtPixel()` methods.
tags: "vector, geojson, click, hover, hit detection"
---
<div id="map" class="map"></div>
<div id="info">&nbsp;</div>

View File

@@ -0,0 +1,113 @@
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import GeoJSON from '../src/ol/format/GeoJSON.js';
import VectorLayer from '../src/ol/layer/Vector.js';
import VectorSource from '../src/ol/source/Vector.js';
import {Fill, Stroke, Style, Text} from '../src/ol/style.js';
const style = new Style({
fill: new Fill({
color: 'rgba(255, 255, 255, 0.6)'
}),
stroke: new Stroke({
color: '#319FD3',
width: 1
}),
text: new Text({
font: '12px Calibri,sans-serif',
fill: new Fill({
color: '#000'
}),
stroke: new Stroke({
color: '#fff',
width: 3
})
})
});
const vectorLayer = new VectorLayer({
source: new VectorSource({
url: 'data/geojson/countries.geojson',
format: new GeoJSON()
}),
style: function(feature) {
style.getText().setText(feature.get('name'));
return style;
}
});
const map = new Map({
layers: [vectorLayer],
target: 'map',
view: new View({
center: [0, 0],
zoom: 1
})
});
const highlightStyle = new Style({
stroke: new Stroke({
color: '#f00',
width: 1
}),
fill: new Fill({
color: 'rgba(255,0,0,0.1)'
}),
text: new Text({
font: '12px Calibri,sans-serif',
fill: new Fill({
color: '#000'
}),
stroke: new Stroke({
color: '#f00',
width: 3
})
})
});
const featureOverlay = new VectorLayer({
source: new VectorSource(),
map: map,
style: function(feature) {
highlightStyle.getText().setText(feature.get('name'));
return highlightStyle;
}
});
let highlight;
const displayFeatureInfo = function(pixel) {
vectorLayer.getFeatures(pixel).then(function(features) {
const feature = features.length ? features[0] : undefined;
const info = document.getElementById('info');
if (features.length) {
info.innerHTML = feature.getId() + ': ' + feature.get('name');
} else {
info.innerHTML = '&nbsp;';
}
if (feature !== highlight) {
if (highlight) {
featureOverlay.getSource().removeFeature(highlight);
}
if (feature) {
featureOverlay.getSource().addFeature(feature);
}
highlight = feature;
}
});
};
map.on('pointermove', function(evt) {
if (evt.dragging) {
return;
}
const pixel = map.getEventPixel(evt.originalEvent);
displayFeatureInfo(pixel);
});
map.on('click', function(evt) {
displayFeatureInfo(evt.pixel);
});

View File

@@ -25,6 +25,7 @@ rome.setStyle(new Style({
image: new Icon({
color: '#8959A8',
crossOrigin: 'anonymous',
imgSize: [20, 20],
src: 'data/square.svg'
})
}));

View File

@@ -3,13 +3,13 @@ layout: example.html
title: Icon Sprites with WebGL
shortdesc: Rendering many icons with WebGL
docs: >
This example shows how to use `ol/renderer/webgl/PointsLayer` to render
This example shows how to use `ol/layer/WebGLPoints` to render
a very large amount of sprites. The above map is based on a dataset from the National UFO Reporting Center: each
icon marks a UFO sighting according to its reported shape (disk, light, fireball...). The older the sighting, the redder
the icon.
A very simple sprite atlas is used in the form of a PNG file containing all icons on a grid. Then, the `texCoordCallback`
option of the `ol/renderer/webgl/PointsLayer` constructor is used to specify which sprite to use according to the sighting shape.
A very simple sprite atlas is used in the form of a PNG file containing all icons on a grid. Then, the `style` object
given to the `ol/layer/WebGLPoints` constructor is used to specify which sprite to use according to the sighting shape.
The dataset contains around 80k points and can be found here: https://www.kaggle.com/NUFORC/ufo-sightings
tags: "webgl, icon, sprite, point, ufo"
@@ -20,3 +20,7 @@ cloak:
---
<div id="map" class="map"></div>
<div>Current sighting: <span id="info"></span></div>
<div>
Filter by UFO shape:
<select id="shape-filter"></select>
</div>

View File

@@ -4,211 +4,12 @@ import TileLayer from '../src/ol/layer/Tile.js';
import TileJSON from '../src/ol/source/TileJSON.js';
import Feature from '../src/ol/Feature.js';
import Point from '../src/ol/geom/Point.js';
import VectorLayer from '../src/ol/layer/Vector.js';
import {Vector} from '../src/ol/source.js';
import {fromLonLat} from '../src/ol/proj.js';
import WebGLPointsLayerRenderer from '../src/ol/renderer/webgl/PointsLayer.js';
import {formatColor, formatNumber} from '../src/ol/webgl/ShaderBuilder.js';
import WebGLPointsLayer from '../src/ol/layer/WebGLPoints.js';
const key = 'pk.eyJ1IjoidHNjaGF1YiIsImEiOiJjaW5zYW5lNHkxMTNmdWttM3JyOHZtMmNtIn0.CDIBD8H-G2Gf-cPkIuWtRg';
const vectorSource = new Vector({
features: [],
attributions: 'National UFO Reporting Center'
});
const texture = new Image();
texture.src = 'data/ufo_shapes.png';
// This describes the content of the associated sprite sheet
// coords are u0, v0 for a given shape (all icons have a size of 0.25 x 0.5)
const shapeTextureCoords = {
'light': [0, 0],
'sphere': [0.25, 0],
'circle': [0.25, 0],
'disc': [0.5, 0],
'oval': [0.5, 0],
'triangle': [0.75, 0],
'fireball': [0, 0.5],
'default': [0.75, 0.5]
};
const oldColor = [255, 160, 110];
const newColor = [180, 255, 200];
const size = 16;
class WebglPointsLayer extends VectorLayer {
createRenderer() {
return new WebGLPointsLayerRenderer(this, {
attributes: [
{
name: 'year',
callback: function(feature) {
return feature.get('year');
}
},
{
name: 'texCoordU',
callback: function(feature) {
let coords = shapeTextureCoords[feature.get('shape')];
if (!coords) {
coords = shapeTextureCoords['default'];
}
return coords[0];
}
},
{
name: 'texCoordV',
callback: function(feature) {
let coords = shapeTextureCoords[feature.get('shape')];
if (!coords) {
coords = shapeTextureCoords['default'];
}
return coords[1];
}
}
],
uniforms: {
u_texture: texture
},
vertexShader: [
'precision mediump float;',
'uniform mat4 u_projectionMatrix;',
'uniform mat4 u_offsetScaleMatrix;',
'uniform mat4 u_offsetRotateMatrix;',
'attribute vec2 a_position;',
'attribute float a_index;',
'attribute float a_year;',
'attribute float a_texCoordU;',
'attribute float a_texCoordV;',
'varying vec2 v_texCoord;',
'varying float v_year;',
'void main(void) {',
' mat4 offsetMatrix = u_offsetScaleMatrix;',
' float offsetX = a_index == 0.0 || a_index == 3.0 ? ',
' ' + formatNumber(-size / 2) + ' : ' + formatNumber(size / 2) + ';',
' float offsetY = a_index == 0.0 || a_index == 1.0 ? ',
' ' + formatNumber(-size / 2) + ' : ' + formatNumber(size / 2) + ';',
' vec4 offsets = offsetMatrix * vec4(offsetX, offsetY, 0.0, 0.0);',
' gl_Position = u_projectionMatrix * vec4(a_position, 0.0, 1.0) + offsets;',
' float u = a_index == 0.0 || a_index == 3.0 ? a_texCoordU : a_texCoordU + 0.25;',
' float v = a_index == 2.0 || a_index == 3.0 ? a_texCoordV : a_texCoordV + 0.5;',
' v_texCoord = vec2(u, v);',
' v_year = a_year;',
'}'
].join(' '),
fragmentShader: [
'precision mediump float;',
'uniform float u_time;',
'uniform float u_minYear;',
'uniform float u_maxYear;',
'uniform sampler2D u_texture;',
'varying vec2 v_texCoord;',
'varying float v_year;',
'void main(void) {',
' vec4 textureColor = texture2D(u_texture, v_texCoord);',
' if (textureColor.a < 0.1) {',
' discard;',
' }',
// color is interpolated based on year
' float ratio = clamp((v_year - 1950.0) / (2013.0 - 1950.0), 0.0, 1.1);',
' vec3 color = mix(vec3(' + formatColor(oldColor) + '),',
' vec3(' + formatColor(newColor) + '), ratio);',
' gl_FragColor = vec4(color, 1.0) * textureColor;',
' gl_FragColor.rgb *= gl_FragColor.a;',
'}'
].join(' '),
hitVertexShader: [
'precision mediump float;',
'uniform mat4 u_projectionMatrix;',
'uniform mat4 u_offsetScaleMatrix;',
'uniform mat4 u_offsetRotateMatrix;',
'attribute vec2 a_position;',
'attribute float a_index;',
'attribute vec4 a_hitColor;',
'attribute float a_texCoordU;',
'attribute float a_texCoordV;',
'varying vec2 v_texCoord;',
'varying vec4 v_hitColor;',
'void main(void) {',
' mat4 offsetMatrix = u_offsetScaleMatrix;',
' float offsetX = a_index == 0.0 || a_index == 3.0 ? ',
' ' + formatNumber(-size / 2) + ' : ' + formatNumber(size / 2) + ';',
' float offsetY = a_index == 0.0 || a_index == 1.0 ? ',
' ' + formatNumber(-size / 2) + ' : ' + formatNumber(size / 2) + ';',
' vec4 offsets = offsetMatrix * vec4(offsetX, offsetY, 0.0, 0.0);',
' gl_Position = u_projectionMatrix * vec4(a_position, 0.0, 1.0) + offsets;',
' float u = a_index == 0.0 || a_index == 3.0 ? a_texCoordU : a_texCoordU + 0.25;',
' float v = a_index == 2.0 || a_index == 3.0 ? a_texCoordV : a_texCoordV + 0.5;',
' v_texCoord = vec2(u, v);',
' v_hitColor = a_hitColor;',
'}'
].join(' '),
hitFragmentShader: [
'precision mediump float;',
'uniform sampler2D u_texture;',
'varying vec2 v_texCoord;',
'varying vec4 v_hitColor;',
'void main(void) {',
' vec4 textureColor = texture2D(u_texture, v_texCoord);',
' if (textureColor.a < 0.1) {',
' discard;',
' }',
' gl_FragColor = v_hitColor;',
'}'
].join(' ')
});
}
}
function loadData() {
const client = new XMLHttpRequest();
client.open('GET', 'data/csv/ufo_sighting_data.csv');
client.onload = function() {
const csv = client.responseText;
const features = [];
let prevIndex = csv.indexOf('\n') + 1; // scan past the header line
let curIndex;
while ((curIndex = csv.indexOf('\n', prevIndex)) != -1) {
const line = csv.substr(prevIndex, curIndex - prevIndex).split(',');
prevIndex = curIndex + 1;
const coords = fromLonLat([parseFloat(line[5]), parseFloat(line[4])]);
// only keep valid points
if (isNaN(coords[0]) || isNaN(coords[1])) {
continue;
}
features.push(new Feature({
datetime: line[0],
year: parseInt(/[0-9]{4}/.exec(line[0])[0]), // extract the year as int
shape: line[2],
duration: line[3],
geometry: new Point(coords)
}));
}
vectorSource.addFeatures(features);
};
client.send();
}
loadData();
const map = new Map({
layers: [
new TileLayer({
@@ -216,9 +17,6 @@ const map = new Map({
url: 'https://api.tiles.mapbox.com/v4/mapbox.world-dark.json?secure&access_token=' + key,
crossOrigin: 'anonymous'
})
}),
new WebglPointsLayer({
source: vectorSource
})
],
target: document.getElementById('map'),
@@ -228,9 +26,125 @@ const map = new Map({
})
});
const vectorSource = new Vector({
features: [],
attributions: 'National UFO Reporting Center'
});
const oldColor = [255, 160, 110];
const newColor = [180, 255, 200];
const size = 16;
const style = {
variables: {
filterShape: 'all'
},
filter: [
'case',
['!=', ['var', 'filterShape'], 'all'],
['==', ['get', 'shape'], ['var', 'filterShape']],
true
],
symbol: {
symbolType: 'image',
src: 'data/ufo_shapes.png',
size: size,
color: [
'interpolate',
['linear'],
['get', 'year'],
1950, oldColor,
2013, newColor
],
rotateWithView: false,
offset: [
0,
0
],
textureCoord: [
'match',
['get', 'shape'],
'light', [0, 0, 0.25, 0.5],
'sphere', [0.25, 0, 0.5, 0.5],
'circle', [0.25, 0, 0.5, 0.5],
'disc', [0.5, 0, 0.75, 0.5],
'oval', [0.5, 0, 0.75, 0.5],
'triangle', [0.75, 0, 1, 0.5],
'fireball', [0, 0.5, 0.25, 1],
[0.75, 0.5, 1, 1]
]
}
};
// key is shape name, value is sightings count
const shapeTypes = {
all: 0
};
const shapeSelect = document.getElementById('shape-filter');
shapeSelect.addEventListener('input', function() {
style.variables.filterShape = shapeSelect.options[shapeSelect.selectedIndex].value;
map.render();
});
function fillShapeSelect() {
Object.keys(shapeTypes)
.sort(function(a, b) {
return shapeTypes[b] - shapeTypes[a];
})
.forEach(function(shape) {
const option = document.createElement('option');
option.text = `${shape} (${shapeTypes[shape]} sightings)`;
option.value = shape;
shapeSelect.appendChild(option);
});
}
const client = new XMLHttpRequest();
client.open('GET', 'data/csv/ufo_sighting_data.csv');
client.onload = function() {
const csv = client.responseText;
const features = [];
let prevIndex = csv.indexOf('\n') + 1; // scan past the header line
let curIndex;
while ((curIndex = csv.indexOf('\n', prevIndex)) != -1) {
const line = csv.substr(prevIndex, curIndex - prevIndex).split(',');
prevIndex = curIndex + 1;
const coords = fromLonLat([parseFloat(line[5]), parseFloat(line[4])]);
// only keep valid points
if (isNaN(coords[0]) || isNaN(coords[1])) {
continue;
}
const shape = line[2];
shapeTypes[shape] = (shapeTypes[shape] ? shapeTypes[shape] : 0) + 1;
shapeTypes['all']++;
features.push(new Feature({
datetime: line[0],
year: parseInt(/[0-9]{4}/.exec(line[0])[0]), // extract the year as int
shape: shape,
duration: line[3],
geometry: new Point(coords)
}));
}
vectorSource.addFeatures(features);
fillShapeSelect();
};
client.send();
map.addLayer(
new WebGLPointsLayer({
source: vectorSource,
style: style
})
);
const info = document.getElementById('info');
map.on('pointermove', function(evt) {
if (map.getView().getInteracting()) {
if (map.getView().getInteracting() || map.getView().getAnimating()) {
return;
}
const pixel = evt.pixel;
@@ -242,7 +156,3 @@ map.on('pointermove', function(evt) {
info.innerText = 'On ' + datetime + ', lasted ' + duration + ' seconds and had a "' + shape + '" shape.';
});
});
texture.addEventListener('load', function() {
map.render();
});

View File

@@ -6,10 +6,10 @@ docs: >
<p>Layer rendering can be manipulated in <code>prerender</code> and <code>postrender</code> event listeners.
These listeners get an event with a reference to the Canvas rendering context.
In this example, the <code>postrender</code> listener applies a filter to the image data.</p>
tags: "filter, image manipulation"
tags: "filter, image manipulation, maptiler"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: get_your_own_D6rA4zTHduk6KOKTXzGB
value: Get your own API key at https://www.maptiler.com/cloud/
---
<div id="map" class="map"></div>
<select id="kernel" name="kernel">

View File

@@ -2,12 +2,19 @@ import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import TileLayer from '../src/ol/layer/Tile.js';
import {fromLonLat} from '../src/ol/proj.js';
import BingMaps from '../src/ol/source/BingMaps.js';
import XYZ from '../src/ol/source/XYZ.js';
const key = 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5';
const key = 'get_your_own_D6rA4zTHduk6KOKTXzGB';
const attributions = '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> ' +
'<a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>';
const imagery = new TileLayer({
source: new BingMaps({key: key, imagerySet: 'Aerial'})
source: new XYZ({
attributions: attributions,
url: 'https://api.maptiler.com/tiles/satellite/{z}/{x}/{y}.jpg?key=' + key,
maxZoom: 20,
crossOrigin: ''
})
});
const map = new Map({

View File

@@ -56,35 +56,32 @@ const featureOverlay = new VectorLayer({
let highlight;
const displayFeatureInfo = function(pixel) {
const feature = map.forEachFeatureAtPixel(pixel, function(feature) {
return feature;
});
map.getLayers().item(0).getFeatures(pixel).then(function(features) {
const feature = features.length > 0 ? features[0] : undefined;
const info = document.getElementById('info');
if (feature) {
info.innerHTML = feature.getId() + ': ' + feature.get('name');
} else {
info.innerHTML = '&nbsp;';
}
if (feature !== highlight) {
if (highlight) {
featureOverlay.getSource().removeFeature(highlight);
}
const info = document.getElementById('info');
if (feature) {
featureOverlay.getSource().addFeature(feature);
info.innerHTML = feature.getId() + ': ' + feature.get('name');
} else {
info.innerHTML = '&nbsp;';
}
highlight = feature;
}
if (feature !== highlight) {
if (highlight) {
featureOverlay.getSource().removeFeature(highlight);
}
if (feature) {
featureOverlay.getSource().addFeature(feature);
}
highlight = feature;
}
});
};
map.on('pointermove', function(evt) {
if (evt.dragging) {
return;
if (!evt.dragging) {
displayFeatureInfo(evt.pixel);
}
const pixel = map.getEventPixel(evt.originalEvent);
displayFeatureInfo(pixel);
});
map.on('click', function(evt) {

View File

@@ -1,14 +0,0 @@
---
layout: example.html
title: Interaction Options
shortdesc: Shows interaction options for custom scroll and zoom behavior.
docs: >
This example uses a custom `ol/interaction/defaults` configuration:
by default, wheel/trackpad zoom and drag panning is always active, which
can be unexpected on pages with a lot of scrollable content and an embedded
map. To perform wheel/trackpad zoom and drag-pan actions only when the map
has the focus, set `onFocusOnly: true` as option. This requires a map div
with a `tabindex` attribute set.
tags: "trackpad, mousewheel, zoom, scroll, interaction, fractional"
---
<div tabindex="1" id="map" class="map"></div>

View File

@@ -4,10 +4,10 @@ title: KML
shortdesc: Rendering KML with a vector source.
docs: >
This example uses the <code>ol/format/KML</code> to parse KML for rendering with a vector source.
tags: "KML"
tags: "KML, maptiler"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: get_your_own_D6rA4zTHduk6KOKTXzGB
value: Get your own API key at https://www.maptiler.com/cloud/
---
<div id="map" class="map"></div>
<div id="info">&nbsp;</div>

View File

@@ -2,13 +2,18 @@ import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import KML from '../src/ol/format/KML.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import BingMaps from '../src/ol/source/BingMaps.js';
import XYZ from '../src/ol/source/XYZ.js';
import VectorSource from '../src/ol/source/Vector.js';
const key = 'get_your_own_D6rA4zTHduk6KOKTXzGB';
const attributions = '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> ' +
'<a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>';
const raster = new TileLayer({
source: new BingMaps({
imagerySet: 'Aerial',
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5'
source: new XYZ({
attributions: attributions,
url: 'https://api.maptiler.com/tiles/satellite/{z}/{x}/{y}.jpg?key=' + key,
maxZoom: 20
})
});

View File

@@ -0,0 +1,3 @@
#map {
background: transparent;
}

View File

@@ -0,0 +1,9 @@
---
layout: example.html
title: Vector Clipping Layer
shortdesc: Vector Clipping Layer example
docs: >
Example of a clipping layer based on a vector source
tags: "clipping, openstreetmap, vector"
---
<div id="map" class="map"></div>

View File

@@ -0,0 +1,46 @@
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {Tile as TileLayer, Vector as VectorLayer} from '../src/ol/layer.js';
import VectorSource from '../src/ol/source/Vector.js';
import GeoJSON from '../src/ol/format/GeoJSON.js';
import OSM from '../src/ol/source/OSM.js';
import {Fill, Style} from '../src/ol/style.js';
import {getVectorContext} from '../src/ol/render.js';
import {fromLonLat} from '../src/ol/proj.js';
const base = new TileLayer({
source: new OSM()
});
const clipLayer = new VectorLayer({
style: null,
source: new VectorSource({
url:
'./data/geojson/switzerland.geojson',
format: new GeoJSON()
})
});
const style = new Style({
fill: new Fill({
color: 'black'
})
});
base.on('postrender', function(e) {
e.context.globalCompositeOperation = 'destination-in';
const vectorContext = getVectorContext(e);
clipLayer.getSource().forEachFeature(function(feature) {
vectorContext.drawFeature(feature, style);
});
e.context.globalCompositeOperation = 'source-over';
});
const map = new Map({
layers: [base, clipLayer],
target: 'map',
view: new View({
center: fromLonLat([8.23, 46.86]),
zoom: 7
})
});

View File

@@ -18,11 +18,17 @@ const map = new Map({
osm.on('prerender', function(event) {
const ctx = event.context;
// calculate the pixel ratio and rotation of the canvas
const matrix = event.inversePixelTransform;
const canvasPixelRatio = Math.sqrt(matrix[0] * matrix[0] + matrix[1] * matrix[1]);
const canvasRotation = -Math.atan2(matrix[1], matrix[0]);
ctx.save();
const pixelRatio = event.frameState.pixelRatio;
const size = map.getSize();
ctx.translate(size[0] / 2 * pixelRatio, size[1] / 2 * pixelRatio);
ctx.scale(3 * pixelRatio, 3 * pixelRatio);
// center the canvas and remove rotation to position clipping
ctx.translate(ctx.canvas.width / 2, ctx.canvas.height / 2);
ctx.rotate(-canvasRotation);
ctx.scale(3 * canvasPixelRatio, 3 * canvasPixelRatio);
ctx.translate(-75, -80);
ctx.beginPath();
ctx.moveTo(75, 40);
@@ -34,8 +40,11 @@ osm.on('prerender', function(event) {
ctx.bezierCurveTo(85, 25, 75, 37, 75, 40);
ctx.clip();
ctx.translate(75, 80);
ctx.scale(1 / 3 / pixelRatio, 1 / 3 / pixelRatio);
ctx.translate(-size[0] / 2 * pixelRatio, -size[1] / 2 * pixelRatio);
ctx.scale(1 / 3 / canvasPixelRatio, 1 / 3 / canvasPixelRatio);
// reapply canvas rotation and position
ctx.rotate(canvasRotation);
ctx.translate(-ctx.canvas.width / 2, -ctx.canvas.height / 2);
});
osm.on('postrender', function(event) {

View File

@@ -8,9 +8,9 @@ docs: >
In this example, the <code>prerender</code> listener sets a clipping mask around the most
recent mouse position, giving you a spyglass effect for viewing one layer over another.</p>
<p>Move around the map to see the effect. Use the ↑ up and ↓ down arrow keys to adjust the spyglass size.</p>
tags: "spy, image manipulation"
tags: "spy, image manipulation, maptiler"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: get_your_own_D6rA4zTHduk6KOKTXzGB
value: Get your own API key at https://www.maptiler.com/cloud/
---
<div id="map" class="map"></div>

View File

@@ -2,16 +2,28 @@ import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import TileLayer from '../src/ol/layer/Tile.js';
import {fromLonLat} from '../src/ol/proj.js';
import BingMaps from '../src/ol/source/BingMaps.js';
import XYZ from '../src/ol/source/XYZ.js';
import {getRenderPixel} from '../src/ol/render.js';
const key = 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5';
const key = 'get_your_own_D6rA4zTHduk6KOKTXzGB';
const attributions = '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> ' +
'<a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>';
const roads = new TileLayer({
source: new BingMaps({key: key, imagerySet: 'RoadOnDemand'})
source: new XYZ({
attributions: attributions,
url: 'https://api.maptiler.com/maps/streets/{z}/{x}/{y}.png?key=' + key,
tileSize: 512,
maxZoom: 22
})
});
const imagery = new TileLayer({
source: new BingMaps({key: key, imagerySet: 'Aerial'})
source: new XYZ({
attributions: attributions,
url: 'https://api.maptiler.com/tiles/satellite/{z}/{x}/{y}.jpg?key=' + key,
maxZoom: 20
})
});
const container = document.getElementById('map');
@@ -54,14 +66,15 @@ container.addEventListener('mouseout', function() {
// before rendering the layer, do some clipping
imagery.on('prerender', function(event) {
const ctx = event.context;
const pixelRatio = event.frameState.pixelRatio;
ctx.save();
ctx.beginPath();
if (mousePosition) {
// only show a circle around the mouse
ctx.arc(mousePosition[0] * pixelRatio, mousePosition[1] * pixelRatio,
radius * pixelRatio, 0, 2 * Math.PI);
ctx.lineWidth = 5 * pixelRatio;
const pixel = getRenderPixel(event, mousePosition);
const offset = getRenderPixel(event, [mousePosition[0] + radius, mousePosition[1]]);
const canvasRadius = Math.sqrt(Math.pow(offset[0] - pixel[0], 2) + Math.pow(offset[1] - pixel[1], 2));
ctx.arc(pixel[0], pixel[1], canvasRadius, 0, 2 * Math.PI);
ctx.lineWidth = 5 * canvasRadius / radius;
ctx.strokeStyle = 'rgba(0,0,0,0.5)';
ctx.stroke();
}

View File

@@ -4,10 +4,10 @@ title: Layer Swipe
shortdesc: Example of a Layer swipe map.
docs: >
Example of a Layer swipe map.
tags: "swipe, openstreetmap"
tags: "swipe, openstreetmap, maptiler"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: get_your_own_D6rA4zTHduk6KOKTXzGB
value: Get your own API key at https://www.maptiler.com/cloud/
---
<div id="map" class="map"></div>
<input id="swipe" type="range" style="width: 100%">

View File

@@ -1,21 +1,28 @@
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import TileLayer from '../src/ol/layer/Tile.js';
import BingMaps from '../src/ol/source/BingMaps.js';
import OSM from '../src/ol/source/OSM.js';
import XYZ from '../src/ol/source/XYZ.js';
import {getRenderPixel} from '../src/ol/render.js';
const osm = new TileLayer({
source: new OSM()
});
const bing = new TileLayer({
source: new BingMaps({
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5',
imagerySet: 'Aerial'
const key = 'get_your_own_D6rA4zTHduk6KOKTXzGB';
const attributions = '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> ' +
'<a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>';
const aerial = new TileLayer({
source: new XYZ({
attributions: attributions,
url: 'https://api.maptiler.com/tiles/satellite/{z}/{x}/{y}.jpg?key=' + key,
maxZoom: 20
})
});
const map = new Map({
layers: [osm, bing],
layers: [osm, aerial],
target: 'map',
view: new View({
center: [0, 0],
@@ -25,17 +32,26 @@ const map = new Map({
const swipe = document.getElementById('swipe');
bing.on('prerender', function(event) {
aerial.on('prerender', function(event) {
const ctx = event.context;
const width = ctx.canvas.width * (swipe.value / 100);
const mapSize = map.getSize();
const width = mapSize[0] * (swipe.value / 100);
const tl = getRenderPixel(event, [width, 0]);
const tr = getRenderPixel(event, [mapSize[0], 0]);
const bl = getRenderPixel(event, [width, mapSize[1]]);
const br = getRenderPixel(event, mapSize);
ctx.save();
ctx.beginPath();
ctx.rect(width, 0, ctx.canvas.width - width, ctx.canvas.height);
ctx.moveTo(tl[0], tl[1]);
ctx.lineTo(bl[0], bl[1]);
ctx.lineTo(br[0], br[1]);
ctx.lineTo(tr[0], tr[1]);
ctx.closePath();
ctx.clip();
});
bing.on('postrender', function(event) {
aerial.on('postrender', function(event) {
const ctx = event.context;
ctx.restore();
});

View File

@@ -6,9 +6,9 @@ docs: >
<p>This example makes use of the <code>postrender</code> event listener to
oversample imagery in a circle around the pointer location. Listeners for this event have access to the Canvas context and can manipulate image data.</p>
<p>Move around the map to see the effect. Use the ↑ up and ↓ down arrow keys to adjust the magnified circle size.</p>
tags: "magnify, image manipulation"
tags: "magnify, image manipulation, maptiler"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: get_your_own_D6rA4zTHduk6KOKTXzGB
value: Get your own API key at https://www.maptiler.com/cloud/
---
<div id="map" class="map"></div>

View File

@@ -2,13 +2,20 @@ import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import TileLayer from '../src/ol/layer/Tile.js';
import {fromLonLat} from '../src/ol/proj.js';
import BingMaps from '../src/ol/source/BingMaps.js';
import XYZ from '../src/ol/source/XYZ.js';
import {getRenderPixel} from '../src/ol/render.js';
const key = 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5';
const key = 'get_your_own_D6rA4zTHduk6KOKTXzGB';
const attributions = '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> ' +
'<a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>';
const imagery = new TileLayer({
source: new BingMaps({key: key, imagerySet: 'Aerial'})
source: new XYZ({
attributions: attributions,
url: 'https://api.maptiler.com/tiles/satellite/{z}/{x}/{y}.jpg?key=' + key,
maxZoom: 20,
crossOrigin: ''
})
});
const container = document.getElementById('map');

View File

@@ -0,0 +1,6 @@
.ol-rotate {
left: .5em;
bottom: .5em;
top: unset;
right: unset;
}

View File

@@ -1,32 +1,13 @@
---
layout: example-verbatim.html
layout: example.html
title: Vector tiles created from a Mapbox Style object
shortdesc: Example of using ol-mapbox-style with tiles from tilehosting.com.
shortdesc: Example of using ol-mapbox-style with tiles from maptiler.com.
docs: >
Example of using `ol-mapbox-style` with tiles from maptiler.com.
**Note**: Make sure to get your own API key at https://www.maptiler.com/cloud/ when using this example. No map will be visible when the API key has expired.
tags: "vector tiles, mapbox style, ol-mapbox-style, maptiler"
cloak:
- key: get_your_own_D6rA4zTHduk6KOKTXzGB
value: Get your own API key at https://www.maptiler.com/cloud/
---
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<title>Mapbox Style objects with ol-mapbox-style</title>
<link rel="stylesheet" href="../css/ol.css" type="text/css">
<style type="text/css">
html, body, .map {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="map" class="map"></div>
<script src="common.js"></script>
<script src="mapbox-style.js"></script>
</body>
</html>
<div id="map" class="map"></div>

View File

@@ -1,3 +1,6 @@
import apply from 'ol-mapbox-style';
import FullScreen from '../src/ol/control/FullScreen.js';
apply('map', 'https://api.maptiler.com/maps/topo/style.json?key=get_your_own_D6rA4zTHduk6KOKTXzGB');
apply('map', 'https://api.maptiler.com/maps/topo/style.json?key=get_your_own_D6rA4zTHduk6KOKTXzGB').then(function(map) {
map.addControl(new FullScreen());
});

View File

@@ -4,7 +4,7 @@ title: Full-Screen Mobile
shortdesc: Example of a full screen map.
tags: "fullscreen, geolocation, mobile"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
- key: ApTJzdkyN1DdFKkRAE6QIDtzihNaf6IWJsT-nQ_2eMoO4PN__0Tzhl2-WgJtXFSp
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
---
<!doctype html>

View File

@@ -14,7 +14,7 @@ const map = new Map({
layers: [
new TileLayer({
source: new BingMaps({
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5',
key: 'ApTJzdkyN1DdFKkRAE6QIDtzihNaf6IWJsT-nQ_2eMoO4PN__0Tzhl2-WgJtXFSp ',
imagerySet: 'RoadOnDemand'
})
})

View File

@@ -232,6 +232,7 @@ const map = new Map({
target: 'map',
view: new View({
center: [0, 1000000],
zoom: 2
zoom: 2,
multiWorld: true
})
});

View File

@@ -0,0 +1,9 @@
.map {
background: rgba(232, 230, 223, 1);
}
.ol-rotate {
left: .5em;
bottom: .5em;
top: unset;
right: unset;
}

View File

@@ -0,0 +1,10 @@
---
layout: example.html
title: Vector tiles rendered in an offscreen canvas
shortdesc: Example of a map that delegates rendering to a worker.
docs: >
The map in this example is rendered in a web worker, using `OffscreenCanvas`. **Note:** This is currently only supported in Chrome and Edge.
tags: "worker, offscreencanvas, vector-tiles"
experimental: true
---
<div id="map" class="map"></div>

View File

@@ -0,0 +1,125 @@
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import Layer from '../src/ol/layer/Layer.js';
import Worker from 'worker-loader!./offscreen-canvas.worker.js'; //eslint-disable-line
import {compose, create} from '../src/ol/transform.js';
import {createTransformString} from '../src/ol/render/canvas.js';
import {createXYZ} from '../src/ol/tilegrid.js';
import {FullScreen} from '../src/ol/control.js';
import stringify from 'json-stringify-safe';
import Source from '../src/ol/source/Source.js';
const worker = new Worker();
let container, transformContainer, canvas, rendering, workerFrameState, mainThreadFrameState;
// Transform the container to account for the differnece between the (newer)
// main thread frameState and the (older) worker frameState
function updateContainerTransform() {
if (workerFrameState) {
const viewState = mainThreadFrameState.viewState;
const renderedViewState = workerFrameState.viewState;
const center = viewState.center;
const resolution = viewState.resolution;
const rotation = viewState.rotation;
const renderedCenter = renderedViewState.center;
const renderedResolution = renderedViewState.resolution;
const renderedRotation = renderedViewState.rotation;
const transform = create();
// Skip the extra transform for rotated views, because it will not work
// correctly in that case
if (!rotation) {
compose(transform,
(renderedCenter[0] - center[0]) / resolution,
(center[1] - renderedCenter[1]) / resolution,
renderedResolution / resolution, renderedResolution / resolution,
rotation - renderedRotation,
0, 0);
}
transformContainer.style.transform = createTransformString(transform);
}
}
const map = new Map({
layers: [
new Layer({
render: function(frameState) {
if (!container) {
container = document.createElement('div');
container.style.position = 'absolute';
container.style.width = '100%';
container.style.height = '100%';
transformContainer = document.createElement('div');
transformContainer.style.position = 'absolute';
transformContainer.style.width = '100%';
transformContainer.style.height = '100%';
container.appendChild(transformContainer);
canvas = document.createElement('canvas');
canvas.style.position = 'absolute';
canvas.style.left = '0';
canvas.style.transformOrigin = 'top left';
transformContainer.appendChild(canvas);
}
mainThreadFrameState = frameState;
updateContainerTransform();
if (!rendering) {
rendering = true;
worker.postMessage({
action: 'render',
frameState: JSON.parse(stringify(frameState))
});
} else {
frameState.animate = true;
}
return container;
},
source: new Source({
attributions: [
'<a href="https://www.maptiler.com/copyright/" target="_blank">© MapTiler</a>',
'<a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors</a>'
]
})
})
],
target: 'map',
view: new View({
resolutions: createXYZ({tileSize: 512}).getResolutions89,
center: [0, 0],
zoom: 2
})
});
map.addControl(new FullScreen());
// Worker messaging and actions
worker.addEventListener('message', message => {
if (message.data.action === 'loadImage') {
// Image loader for ol-mapbox-style
const image = new Image();
image.crossOrigin = 'anonymous';
image.addEventListener('load', function() {
createImageBitmap(image, 0, 0, image.width, image.height).then(imageBitmap => {
worker.postMessage({
action: 'imageLoaded',
image: imageBitmap,
src: message.data.src
}, [imageBitmap]);
});
});
image.src = event.data.src;
} else if (message.data.action === 'requestRender') {
// Worker requested a new render frame
map.render();
} else if (canvas && message.data.action === 'rendered') {
// Worker provies a new render frame
requestAnimationFrame(function() {
const imageData = message.data.imageData;
canvas.width = imageData.width;
canvas.height = imageData.height;
canvas.getContext('2d').drawImage(imageData, 0, 0);
canvas.style.transform = message.data.transform;
workerFrameState = message.data.frameState;
updateContainerTransform();
});
rendering = false;
}
});

View File

@@ -0,0 +1,136 @@
import VectorTileLayer from '../src/ol/layer/VectorTile.js';
import VectorTileSource from '../src/ol/source/VectorTile.js';
import MVT from '../src/ol/format/MVT.js';
import {Projection} from '../src/ol/proj.js';
import TileQueue from '../src/ol/TileQueue.js';
import {getTilePriority as tilePriorityFunction} from '../src/ol/TileQueue.js';
import {renderDeclutterItems} from '../src/ol/render.js';
import styleFunction from 'ol-mapbox-style/dist/stylefunction.js';
import {inView} from '../src/ol/layer/Layer.js';
import stringify from 'json-stringify-safe';
/** @type {any} */
const worker = self;
let frameState, pixelRatio, rendererTransform;
const canvas = new OffscreenCanvas(1, 1);
// OffscreenCanvas does not have a style, so we mock it
canvas.style = {};
const context = canvas.getContext('2d');
const sources = {
landcover: new VectorTileSource({
maxZoom: 9,
format: new MVT(),
url: 'https://api.maptiler.com/tiles/landcover/{z}/{x}/{y}.pbf?key=get_your_own_D6rA4zTHduk6KOKTXzGB'
}),
contours: new VectorTileSource({
minZoom: 9,
maxZoom: 14,
format: new MVT(),
url: 'https://api.maptiler.com/tiles/contours/{z}/{x}/{y}.pbf?key=get_your_own_D6rA4zTHduk6KOKTXzGB'
}),
openmaptiles: new VectorTileSource({
format: new MVT(),
maxZoom: 14,
url: 'https://api.maptiler.com/tiles/v3/{z}/{x}/{y}.pbf?key=get_your_own_D6rA4zTHduk6KOKTXzGB'
})
};
const layers = [];
// Font replacement so we do not need to load web fonts in the worker
function getFont(font) {
return font[0]
.replace('Noto Sans', 'serif')
.replace('Roboto', 'sans-serif');
}
function loadStyles() {
const styleUrl = 'https://api.maptiler.com/maps/topo/style.json?key=get_your_own_D6rA4zTHduk6KOKTXzGB';
fetch(styleUrl).then(data => data.json()).then(styleJson => {
const buckets = [];
let currentSource;
styleJson.layers.forEach(layer => {
if (!layer.source) {
return;
}
if (currentSource !== layer.source) {
currentSource = layer.source;
buckets.push({
source: layer.source,
layers: []
});
}
buckets[buckets.length - 1].layers.push(layer.id);
});
const spriteUrl = styleJson.sprite + (pixelRatio > 1 ? '@2x' : '') + '.json';
const spriteImageUrl = styleJson.sprite + (pixelRatio > 1 ? '@2x' : '') + '.png';
fetch(spriteUrl).then(data => data.json()).then(spriteJson => {
buckets.forEach(bucket => {
const source = sources[bucket.source];
if (!source) {
return;
}
const layer = new VectorTileLayer({
declutter: true,
source,
minZoom: source.getTileGrid().getMinZoom()
});
layer.getRenderer().useContainer = function(target, transform) {
this.containerReused = this.getLayer() !== layers[0];
this.canvas = canvas;
this.context = context;
this.container = {
firstElementChild: canvas
};
rendererTransform = transform;
};
styleFunction(layer, styleJson, bucket.layers, undefined, spriteJson, spriteImageUrl, getFont);
layers.push(layer);
});
worker.postMessage({action: 'requestRender'});
});
});
}
// Minimal map-like functionality for rendering
const tileQueue = new TileQueue(
(tile, tileSourceKey, tileCenter, tileResolution) => tilePriorityFunction(frameState, tile, tileSourceKey, tileCenter, tileResolution),
() => worker.postMessage({action: 'requestRender'}));
const maxTotalLoading = 8;
const maxNewLoads = 2;
worker.addEventListener('message', event => {
if (event.data.action !== 'render') {
return;
}
frameState = event.data.frameState;
if (!pixelRatio) {
pixelRatio = frameState.pixelRatio;
loadStyles();
}
frameState.tileQueue = tileQueue;
frameState.viewState.projection.__proto__ = Projection.prototype;
layers.forEach(layer => {
if (inView(layer.getLayerState(), frameState.viewState)) {
const renderer = layer.getRenderer();
renderer.renderFrame(frameState, canvas);
}
});
renderDeclutterItems(frameState, null);
if (tileQueue.getTilesLoading() < maxTotalLoading) {
tileQueue.reprioritize();
tileQueue.loadMoreTiles(maxTotalLoading, maxNewLoads);
}
const imageData = canvas.transferToImageBitmap();
worker.postMessage({
action: 'rendered',
imageData: imageData,
transform: rendererTransform,
frameState: JSON.parse(stringify(frameState))
}, [imageData]);
});

10
examples/page-scroll.html Normal file
View File

@@ -0,0 +1,10 @@
---
layout: example.html
title: Page Scrolling
shortdesc: Shows a map that does not interrupt page scrolling.
docs: >
To perform wheel/trackpad zoom and drag-pan actions only when the map
has the focus, configure your map div with a `tabindex` attribute.
tags: "trackpad, mousewheel, zoom, scroll, page"
---
<div tabindex="1" id="map" class="map"></div>

View File

@@ -1,14 +1,10 @@
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {defaults as defaultInteractions} from '../src/ol/interaction.js';
import TileLayer from '../src/ol/layer/Tile.js';
import OSM from '../src/ol/source/OSM.js';
const map = new Map({
interactions: defaultInteractions({
onFocusOnly: true
}),
layers: [
new TileLayer({
source: new OSM()

View File

@@ -1,8 +1,7 @@
.ol-popup {
position: absolute;
background-color: white;
-webkit-filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
box-shadow: 0 1px 4px rgba(0,0,0,0.2);
padding: 15px;
border-radius: 10px;
border: 1px solid #cccccc;

View File

@@ -6,7 +6,7 @@ docs: >
<p>The map on the top preloads low resolution tiles. The map on the bottom does not use any preloading. Try zooming out and panning to see the difference.</p>
tags: "preload, bing"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
- key: ApTJzdkyN1DdFKkRAE6QIDtzihNaf6IWJsT-nQ_2eMoO4PN__0Tzhl2-WgJtXFSp
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
---
<div id="map1" class="map"></div>

View File

@@ -14,7 +14,7 @@ const map1 = new Map({
new TileLayer({
preload: Infinity,
source: new BingMaps({
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5',
key: 'ApTJzdkyN1DdFKkRAE6QIDtzihNaf6IWJsT-nQ_2eMoO4PN__0Tzhl2-WgJtXFSp ',
imagerySet: 'Aerial'
})
})
@@ -28,7 +28,7 @@ const map2 = new Map({
new TileLayer({
preload: 0, // default value
source: new BingMaps({
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5',
key: 'ApTJzdkyN1DdFKkRAE6QIDtzihNaf6IWJsT-nQ_2eMoO4PN__0Tzhl2-WgJtXFSp ',
imagerySet: 'AerialWithLabelsOnDemand'
})
})

View File

@@ -18,12 +18,12 @@ docs: >
those pixels based on a threshold value (values above the
threshold are green and those below are transparent).
</p>
tags: "raster, pixel"
tags: "raster, pixel, maptiler"
resources:
- https://unpkg.com/d3@4.12.0/build/d3.js
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: get_your_own_D6rA4zTHduk6KOKTXzGB
value: Get your own API key at https://www.maptiler.com/cloud/
---
<div class="rel">
<div id="map" class="map"></div>

View File

@@ -1,7 +1,7 @@
import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {Image as ImageLayer, Tile as TileLayer} from '../src/ol/layer.js';
import BingMaps from '../src/ol/source/BingMaps.js';
import XYZ from '../src/ol/source/XYZ.js';
import RasterSource from '../src/ol/source/Raster.js';
const minVgi = 0;
@@ -46,9 +46,16 @@ function summarize(value, counts) {
/**
* Use aerial imagery as the input data for the raster source.
*/
const bing = new BingMaps({
key: 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5',
imagerySet: 'Aerial'
const key = 'get_your_own_D6rA4zTHduk6KOKTXzGB';
const attributions = '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> ' +
'<a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>';
const aerial = new XYZ({
attributions: attributions,
url: 'https://api.maptiler.com/tiles/satellite/{z}/{x}/{y}.jpg?key=' + key,
maxZoom: 20,
crossOrigin: ''
});
@@ -57,7 +64,7 @@ const bing = new BingMaps({
* be colored green.
*/
const raster = new RasterSource({
sources: [bing],
sources: [aerial],
/**
* Run calculations on pixel data.
* @param {Array} pixels List of pixels (one per source).
@@ -110,7 +117,7 @@ raster.on('afteroperations', function(event) {
const map = new Map({
layers: [
new TileLayer({
source: bing
source: aerial
}),
new ImageLayer({
source: raster

View File

@@ -23,10 +23,10 @@ docs: >
This example also shows how an additional function can be made available
to the operation.
</p>
tags: "raster, region growing"
tags: "raster, region growing, maptiler"
cloak:
- key: As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5
value: Your Bing Maps Key from http://www.bingmapsportal.com/ here
- key: get_your_own_D6rA4zTHduk6KOKTXzGB
value: Get your own API key at https://www.maptiler.com/cloud/
---
<div id="map" class="map" style="cursor: pointer"></div>
<table class="controls">

View File

@@ -2,7 +2,7 @@ import Map from '../src/ol/Map.js';
import View from '../src/ol/View.js';
import {Image as ImageLayer, Tile as TileLayer} from '../src/ol/layer.js';
import {fromLonLat} from '../src/ol/proj.js';
import BingMaps from '../src/ol/source/BingMaps.js';
import XYZ from '../src/ol/source/XYZ.js';
import RasterSource from '../src/ol/source/Raster.js';
function growRegion(inputs, data) {
@@ -72,10 +72,17 @@ function next4Edges(edge) {
];
}
const key = 'As1HiMj1PvLPlqc_gtM7AqZfBL8ZL3VrjaS3zIb22Uvb9WKhuJObROC-qUpa81U5';
const key = 'get_your_own_D6rA4zTHduk6KOKTXzGB';
const attributions = '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> ' +
'<a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; OpenStreetMap contributors</a>';
const imagery = new TileLayer({
source: new BingMaps({key: key, imagerySet: 'Aerial'})
source: new XYZ({
attributions: attributions,
url: 'https://api.maptiler.com/tiles/satellite/{z}/{x}/{y}.jpg?key=' + key,
maxZoom: 20,
crossOrigin: ''
})
});
const raster = new RasterSource({

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