Commit Graph

66 Commits

Author SHA1 Message Date
ahocevar
3d62b67172 Introducing ol.overlay.Overlay and an overlayContainer
ol.overlay.Overlay can be used to bind DOM elements to a
coordinate on the map. It has positioning options to support
e.g. popups or image markers that have an anchor at the bottom
and an unknown size.

The overlayContainer stops propagation on mousedown and
touchstart events, so clicks and gestures on overlays don't
trigger any MapBrowserEvent. To make this work reliably, we now
only fire dblclick in mapbrowserevent.js when there was a
previous mousedown or touchstart. The default container for
controls is now the overlayContainer.
2012-09-28 13:01:56 +02:00
Tim Schaub
6ed27779cc Rotation support for the dom renderer
Thanks @fredj for the inspiration.  This gives us initial rotation support.  It exposes some issues in the interactions that I'll address separately.  Closes #22.
2012-09-28 10:53:36 +02:00
Tom Payne
e3c3c13ac2 Use goog.vec.Mat4.rotateZ 2012-09-27 18:21:33 +02:00
Tim Schaub
981a40a994 Remove tiles that are still loading at alt z
When zooming to a new zoom level, we can immediately remove tiles from the previous level.  This (strongly) suggests not adding images to the container until they have actually loaded.
2012-09-27 17:46:23 +02:00
Tim Schaub
b8a69f0777 Adjusting layers pane only when necessary
We only want to adjust things that have to do with rendering (like the position of the layers panel) when actually rendering.  The handleXChange methods may be called more times than we can actually render, so we never want to do anything that touches the DOM there.  Instead, we have to keep track of the state at previous render and adjust the layers panel (or other) based on changes only when rendering.
2012-09-27 16:09:04 +02:00
Tim Schaub
9f9729656b Todos done. 2012-09-27 16:09:03 +02:00
Tom Payne
7625607fd1 Only resize canvas when renderering 2012-09-27 14:05:19 +02:00
Tom Payne
ac0e02039c s/POST_RENDER/POSTRENDER/ 2012-09-27 14:05:19 +02:00
Éric Lemoine
f78cad0d77 Merge pull request #27 from elemoine/constraints
Refactoring to make constraints work at the map level
2012-09-27 01:42:45 -07:00
Tom Payne
d3b9af30d0 Don't modify return type of method 2012-09-27 09:36:55 +02:00
Tom Payne
50334b7971 s/ol.TileLayer/ol.layer.TileLayer/ 2012-09-27 09:36:55 +02:00
Éric Lemoine
b6bb05bf76 Refactoring to set the constraints to the map 2012-09-27 00:09:29 +02:00
Tom Payne
290d03e76f s/store/source/ 2012-09-26 19:43:23 +02:00
ahocevar
4257f5c7c6 Removing unneeded preventDefault calls 2012-09-26 18:26:11 +02:00
Tim Schaub
3510c37e43 Handle map size changes in the renderer 2012-09-26 14:10:16 +02:00
Tim Schaub
5b36cf1312 Only adjust tile when necessary 2012-09-26 13:12:36 +02:00
Tim Schaub
24edce24f1 Add alternate tiles under tiles at target z
When zooming or panning, if we have tiles at alternate resolutions, those tiles are inserted in the DOM before the tiles at the target resolution.  This means you should see blurry tiles instead of whitespace when panning (assuming you've already zoomed in a bit).
2012-09-26 12:18:11 +02:00
Tim Schaub
48c4cbc1e5 Correcting comment typos 2012-09-26 11:11:51 +02:00
Tim Schaub
8e38ab0fdc Lint free. 2012-09-26 10:58:17 +02:00
Tim Schaub
3479e20b0a Merge branch 'alt-tiles' 2012-09-26 10:55:25 +02:00
Tim Schaub
7f58d1a8c6 Proper handling of out-of-range and alt-z tiles
Tile pruning code separated into to methods for clarity.  Alt-z tiles are only removed when all current-z tiles have loaded.  Thanks @elemoine for the excellent debugging session.
2012-09-26 10:52:17 +02:00
Tim Schaub
299173194c First pass at alt-tile rendering for dom renderer 2012-09-25 20:06:20 +02:00
ahocevar
b151304630 Prevent default on mousedown and touchstart for all renderers
By doing this on the map renderer, we do not need to duplicate code for the webgl and dom renderers.
2012-09-25 17:28:01 +02:00
Tom Payne
8369924511 Remove debug code 2012-09-25 14:00:19 +02:00
Tom Payne
06ea619989 Avoid re-rendering framebuffer in simple cases 2012-09-25 13:54:15 +02:00
Tom Payne
c2e08861e5 Correct order of transformations 2012-09-25 12:23:11 +02:00
Tim Schaub
900eead7c6 Correct type for imagesToLoad. Add note about shorter path. 2012-09-25 12:08:02 +02:00
ahocevar
6b8e14c623 Don't trigger extra drag events on touch devices. 2012-09-25 08:30:57 +02:00
Tom Payne
2d7a21eaa0 More gjslint fixes 2012-09-25 00:03:53 +02:00
Tom Payne
8394147df1 Satisfy gjslint 2012-09-24 21:25:29 +02:00
ahocevar
002e23cb74 Satisfy latest Closure library/tools. 2012-09-24 17:59:34 +02:00
Tim Schaub
1f9e2aa3c4 Move Layer into ol.layer namespace. 2012-09-24 17:08:36 +02:00
Tom Payne
a416d1f601 s/TileBounds/TileRange/ 2012-09-24 14:33:24 +02:00
Tom Payne
f8c31ba45c s/ol3/ol/ 2012-09-24 14:21:41 +02:00
Tom Payne
f3d9b3332c Move code to be merged into src/attic 2012-07-26 00:21:37 +02:00
Tom Payne
3eefbaa337 Remove merged code 2012-07-22 03:10:33 +02:00
Éric Lemoine
192caa1c65 [ol.layer.TileLayer] do not load tiles outside the layer's extent 2012-06-24 22:25:01 +02:00
ahocevar
81577d6dce Adding Loc.add method. 2012-06-24 10:09:24 +02:00
Tim Schaub
2fcbce30bc For now, we require a projection on loc internally. 2012-06-23 19:59:49 +02:00
ahocevar
026b60826e Removing stub method, and use the real method in Popup. 2012-06-23 16:16:37 +02:00
Tim Schaub
df1dfd5295 Adding exports to get advanced compilation. 2012-06-23 15:22:37 +02:00
ahocevar
d391c65ac6 New pixel conversion and zoom/center related methods. 2012-06-23 14:21:37 +02:00
Tim Schaub
c4f91d498c Prep for more efficient moves. 2012-06-23 12:42:09 +02:00
Tim Schaub
0554bceb29 Drag and zoom without throwing.
(This is a bit tedious, suggests a pending state.)
2012-06-23 02:17:14 +02:00
Tim Schaub
b6cfeecdfb Adjust tiles if already rendered. 2012-06-23 01:59:20 +02:00
Tim Schaub
7b41119bc9 Composite renderer creates layer renderers. 2012-06-22 19:46:40 +02:00
Tim Schaub
ff9bacf044 Temporary way for map renderers to register. 2012-06-22 19:46:40 +02:00
Tim Schaub
915f7b5330 Clean up old tiles. 2012-06-22 19:46:40 +02:00
Tim Schaub
2fffa0293d Test renderer type. 2012-06-22 17:48:44 +02:00
Tim Schaub
5b2d29878b Tile may be null. 2012-06-22 17:38:59 +02:00