Olivier Guyot
1c5fd62e43
View / refactor how zoom and resolution are computed
...
This commit aims to simplify the computation of zoom and resolution in the
View class.
Previously zoom levels and resolution computations were mixed in different places,
ie resolution constraints, initial values, etc.
Now the View class only has the `getZoomForResolution` and `getResolutionForZoom`
methods to convert from one system to another.
Other than that, most computations use the resolution system internally.
The `constrainResolution` method also does not exist anymore, and is replaced
by `getValidResolution` and `getValidZoomLevel` public methods.
2019-02-22 15:01:30 +01:00
Olivier Guyot
1f379a06a4
View / add support for viewport extent constraint
...
This introduces a breaking change:
The `extent` view option now constrains the whole viewport and not just the
view center.
The option `constrainOnlyCenter` was added to keep the previous behaviour.
Constraining the whole viewport and not only the view center means
that the center and resolution constraints must be applied with a knowledge of
the viewport size.
2019-02-22 15:01:30 +01:00
jahow
e52fab636c
View / apply constraints automatically based on hints
...
All constraints can now function differently if they are applied during
interaction or animation.
2019-02-22 15:01:30 +01:00
jahow
d991dfa54a
View / remove constrainCenter method
2019-02-22 15:01:30 +01:00
jahow
c2c1aa01d3
View / removed the constrainRotation method
2019-02-22 15:01:30 +01:00
Olivier Guyot
e6c4b2ffd1
View / make the constrainResolution function private
...
Other classes should not need to worry about constraining the resolution
or not, as the View will eventually do this on its own.
2019-02-22 15:01:30 +01:00
Olivier Guyot
3c1e3779e2
View / add a method to compute a valid zoom level
...
The `getValidZoomLevel` apply the current resolution constraint to return
a value that is guaranteed valid.
This is used for interactions & controls which need a target value to work:
the +/- buttons, the zoom clider, the dragbox zoom and the mouse wheel zoom.
2019-02-22 15:01:30 +01:00
Olivier Guyot
4e1ece16ed
View / implemented begin- and endInteraction methods
2019-02-22 15:01:30 +01:00
Olivier Guyot
1cb934dbe3
View / implement intermediate values for center/rot/res
...
The view now has targetCenter, targetRotation and targetResolution members.
These hold the new values given by set* methods. The actual view parameters are then changed by
calling `applyParameters_`.
2019-02-22 15:01:30 +01:00
Petr Sloup
67ee5a41b0
Add note about ignoring tileSize TileJSON property
2019-02-22 09:05:18 +01:00
Petr Sloup
bc25097899
Add tileSize option to ol/source/TileJSON
...
The TileJSON spec does not specify the tile size
and there is no TileJSON property specifying the value.
Many providers nowadays provide 512x512 with TileJSON.
2019-02-21 19:00:07 +01:00
Andreas Hocevar
6ce499532c
Merge pull request #9250 from ahocevar/clear-refresh
...
Clearer behaviour of clear() and refresh() on sources
2019-02-21 17:12:26 +01:00
Andreas Hocevar
90034e4d48
Merge pull request #9251 from ahocevar/cache-size
...
Fix cache size calculation
2019-02-21 01:57:40 +01:00
ahocevar
d06d00ccbb
Fix typo
2019-02-21 01:29:15 +01:00
Andreas Hocevar
959dba169d
Merge pull request #9110 from crubier/master
...
Add TilePixelRatio to Zoomify
2019-02-21 00:29:42 +01:00
Vincent Lecrubier
900adaaffb
Update Zoomify.js
2019-02-20 22:40:24 +00:00
ahocevar
94cd126189
Add setUrl function and don't reset loaded extents in setLoader
2019-02-20 21:55:29 +01:00
ahocevar
e4873a9952
Improve documentation for ol/Source#refresh
2019-02-20 20:40:09 +01:00
ahocevar
8d1022046e
Clear loaded extents when a new loader is set
2019-02-20 20:39:26 +01:00
ahocevar
f40cbf2cac
Do not reload on clear(), but on refresh()
2019-02-20 20:39:04 +01:00
ahocevar
a0ba8dd8c6
Add a clear() method for tile sources
2019-02-20 20:37:58 +01:00
Andreas Hocevar
62d82411c8
Merge pull request #9244 from huyngkh/stylus-support
...
add stylus only and touch only mode to drawing a shape
2019-02-20 11:30:11 +01:00
Huy Nguyen
c3709ef51a
remove arrow function, add JSDoc and restore original Draw
2019-02-20 17:23:50 +07:00
Huy Nguyen
0c889da99c
add stylus and touch mode to drawing a shape
2019-02-20 13:55:22 +07:00
Frederic Junod
4cb9b1eeb3
Add setRotateWithView function to ol/style/Text
2019-02-19 14:20:58 +01:00
Frederic Junod
f0a97ee460
Fix comments indentation
2019-02-19 14:12:14 +01:00
Andreas Hocevar
7c1e16abc3
Merge pull request #9230 from ahocevar/hitdetect-declutter
...
Consider all tiles for hit detection when decluttering
2019-02-19 12:58:07 +01:00
Frederic Junod
746455a9b9
Move params list to the constructor function
2019-02-18 17:33:07 +01:00
Frederic Junod
3557247b27
Fix comments indentation
2019-02-18 17:31:36 +01:00
Frederic Junod
6bab8793a2
Remove deprecated {get,set}SnapToPixel functions
2019-02-18 14:07:27 +01:00
ahocevar
667cadc403
Remove extent default so we catch errors when extent is not set
2019-02-18 12:07:10 +01:00
ahocevar
08be6cf9bc
Set extent berfore features
2019-02-18 11:54:59 +01:00
ahocevar
fd07de39ad
Consider all tiles for hit detection when decluttering
2019-02-18 11:40:52 +01:00
Vincent Lecrubier
44942dffb5
Update Zoomify.js
2019-02-18 10:04:02 +00:00
Frederic Junod
e9ecea3bb7
Remove 'moz' prefix for the Full Screen API
...
Browser support: https://caniuse.com/#feat=fullscreen
2019-02-15 14:37:49 +01:00
Frederic Junod
391dfc5025
Remove vendor prefix for the 'transform' CSS property
...
Browser support: https://caniuse.com/#feat=transforms2d
2019-02-15 14:29:15 +01:00
Andreas Hocevar
a2a3bda5c9
Merge pull request #9221 from ahocevar/remove-unused-sortbyzindex
...
Remove unused sortByZIndex function
2019-02-15 09:45:26 +01:00
Frédéric Junod
f28b7c7bcf
Merge pull request #9220 from fredj/rm_extra_canvas_resize
...
Don't resize/clear the vector renderer canvas
2019-02-15 09:34:57 +01:00
ahocevar
020f513ed5
Remove unused sortByZIndex function
2019-02-14 17:40:38 +01:00
Frederic Junod
30fb0b1ed1
Don't resize/clear the vector renderer canvas
...
Already done in the `renderFrame` function
2019-02-14 13:49:31 +01:00
Frederic Junod
40605d7c53
Don't use loadImage function to avoid infinite loading loop
2019-02-14 13:47:52 +01:00
Frederic Junod
c0a860a31f
Remove unnecessary type cast
2019-02-13 11:42:22 +01:00
ahocevar
3557a13147
Only consider child range with drawable tiles
2019-02-09 19:35:31 +01:00
Frédéric Junod
f6e625f21a
Merge pull request #9197 from fredj/cleanup
...
Remove unused opt_this param
2019-02-08 08:43:31 +01:00
Frederic Junod
6f8ffddace
Remove opt_this param in manageTilePyramid function
2019-02-07 13:18:52 +01:00
Frederic Junod
438736068e
Remove opt_this param in forEach function
2019-02-07 13:07:36 +01:00
ahocevar
703dadfcde
Fix ScaleLine control now that getPointResolution works correctly
2019-02-07 12:26:18 +01:00
ahocevar
fecb8de769
getPointResolution returns proj units
2019-02-07 12:25:37 +01:00
Frederic Junod
2879c0b6ad
Remove opt_this param in forDataAtCoordinate function
2019-02-07 11:51:28 +01:00
Frederic Junod
41d231a4c7
Remove opt_this param in forEachTileCoordParentTileRange function
...
The function is only called by `ol/renderer/canvas/TileLayer` and `opt_this` was always `null`.
2019-02-07 11:43:52 +01:00