Commit Graph

7728 Commits

Author SHA1 Message Date
Tim Schaub
a7737150fe Merge branch 'master' of github.com:openlayers/ol3 into vector 2013-01-24 22:21:25 -07:00
Tim Schaub
4e3f984796 Properly rendering features to canvas tiles
It looks like this approach will work well for panning (as anticipated).  For animated zooming, it is not going to work as is.  It looks like the canvas tile generation is too much for this type of animation loop.  Though there are clearly still areas for optimization:

 * Don't create new tiles while animating between zoom levels.  Using existing tiles only while animating should bring a significant performance gain.
 * Simple spatial index for tiles - each tile coord in the matrix could have a feature lookup object (keyed by id).  This needs to account for rendered dimension (as witnessed by the point being cut by a tile).  Given that the current example uses only three features, adding the spatial index should only be a minor improvement.
 * Reuse a fixed set of canvas tiles that are generated at construction (and increased/decreased with view size changes).
 * If a fixed set of tiles is not used, at least new ones could be cloned from existing ones (minor).
 * Do some profiling to look for more ideas.

In addition, world-wrapping needs addressed.  I don't think this renderer is the right (or at least the only) place to address this.  And the cache of tiles needs to be managed for real.  But hey, at least we've got a working tiled vector renderer now.
2013-01-24 21:57:12 -07:00
Tim Schaub
f2b325b430 Adding convenient tile labels for debugging
This will be removed when behavior is right.
2013-01-24 17:16:54 -07:00
Tim Schaub
033daa425b Reverting b0a7badc8f
I think it's complicating things at this point to deal with this.  Unfortunately, it's not proper dateline wrapping as is (only arbitrary tile range extent wrapping).
2013-01-24 17:15:32 -07:00
Tim Schaub
8d5a45d827 Set up example for debugging 2013-01-24 16:51:10 -07:00
Éric Lemoine
fc9bfe8460 Merge pull request #159 from elemoine/renderpath
Simplify map renderer
2013-01-24 14:23:22 -08:00
Éric Lemoine
98b264e8ce Add comment 2013-01-24 22:31:57 +01:00
Éric Lemoine
80b38e608b No more need for listener keys array 2013-01-24 22:31:53 +01:00
Éric Lemoine
4a64837ba1 Make map handle background color changes 2013-01-24 22:31:08 +01:00
Éric Lemoine
2a28b7c699 Add comment 2013-01-24 22:31:08 +01:00
Éric Lemoine
15898b559b Make map handle size changes 2013-01-24 22:31:08 +01:00
Éric Lemoine
71a462cd54 Make map handle view changes
With the frameState stuff the map renderer need not listen to view changes. The map renderer receives orders from the map. These orders are renderFrame_ calls with frameState objects representing the current state.
2013-01-24 22:31:06 +01:00
Tom Payne
0bb31150b0 Merge pull request #148 from twpayne/anchored-elements
Replace ol.overlay.Overlay with ol.AnchoredElement
2013-01-24 09:36:40 -08:00
ahocevar
b0a7badc8f Started on proper date line wrapping
What we want in the end is vector tiles repeated just as raster
tiles. This change only avoids repeated tiles with the same
content being rendered and stored in the cache.
2013-01-24 17:29:21 +01:00
Tom Payne
309ddad4fe Merge pull request #152 from twpayne/texture-cache-expiry
Texture cache expiry
2013-01-24 07:36:06 -08:00
Tom Payne
8cac270234 Use + rather than Number for string to number conversion 2013-01-24 16:31:56 +01:00
Tom Payne
ace0728e8a Merge pull request #151 from twpayne/tile-cache-expiry
Tile cache expiry
2013-01-24 07:24:33 -08:00
ahocevar
fe605ceebb Better, but still not all the way there 2013-01-24 16:21:30 +01:00
Éric Lemoine
197ef89964 Merge pull request #156 from elemoine/examplefix
Remove ref to userProjection
2013-01-24 01:35:14 -08:00
Éric Lemoine
dc9fb06185 Remove ref to userProjection
The wms-custom-proj example sets a userProjection in the map while userProjection is gone for now. It was removed in 927cffb2.
2013-01-24 10:32:32 +01:00
Éric Lemoine
0945f19620 Merge pull request #155 from elemoine/typo
Fix typo in a typedef
2013-01-24 01:29:43 -08:00
Éric Lemoine
d04b2bb2bd Fix typo 2013-01-24 10:28:28 +01:00
Tim Schaub
9bd1ab99d1 Toward tiled vector rendering 2013-01-24 02:06:40 -07:00
Tim Schaub
483e309216 Merge pull request #153 from tschaub/extent
Care with transform
2013-01-24 00:56:18 -08:00
Tim Schaub
3ccfaebcfc Punctuated 2013-01-23 22:18:00 -07:00
Tim Schaub
afb9add911 Checked with third-party tool 2013-01-23 22:12:17 -07:00
Tim Schaub
0845dea366 Care with transform
Since the transform method takes an arbitrary transform function, new coordinates may not be ordered in the same way as the originals.
2013-01-23 22:03:08 -07:00
ahocevar
4a54cc69ce Tiled vector rendering
This needs more work still - see inline TODOs. It also has a
major bug - rendered vector features do not scale and do not
change their offset during panning. So only the initial view is
correct.
2013-01-23 21:37:06 +01:00
Tom Payne
b0eb7a4b9b Port ol.TileCache to ol.structs.LinkedMap 2013-01-23 19:59:03 +01:00
Tom Payne
0d7196c098 Expire old textures from texture cache 2013-01-23 19:59:02 +01:00
Tom Payne
3f6ef77a5a Add ol.structs.LinkedMap.prototype.peekLastKey 2013-01-23 19:59:02 +01:00
Tom Payne
c7d0712480 Rename goog.structs.LinkedMap to ol.structs.LinkedMap 2013-01-23 19:59:02 +01:00
Shawn Brenneman
140f8c8683 Add goog.structs.LinkedMap from Closure Library 2013-01-23 19:58:50 +01:00
Frédéric Junod
d6c96c058f Merge pull request #133 from fredj/options-obj
ol.animation.create* functions should use options objects rather than positional arguments
2013-01-23 08:50:22 -08:00
Tom Payne
0f3d708525 Use ol.TileCache in ol.source.DebugTileSource 2013-01-23 17:22:01 +01:00
Tom Payne
09ec444958 Use ol.TileCache in ol.source.ImageTileSource 2013-01-23 17:22:01 +01:00
Tom Payne
b034299158 Add ol.TileCache 2013-01-23 17:22:00 +01:00
Frederic Junod
7568688301 Use option object rather than positional arguments for ol.animation.create* functions 2013-01-23 17:07:55 +01:00
Tom Payne
b770aaa2f5 Add tile cache expiry infrastructure 2013-01-23 14:31:24 +01:00
Marc Jansen
6d3e0778e1 Merge pull request #150 from marcjansen/zoombtn-radius
Adjust border-radius of zoom buttons.
2013-01-22 23:56:28 -08:00
Marc Jansen
9af78dd2fe Adjust border-radius of zoom buttons. 2013-01-23 08:14:55 +01:00
Tim Schaub
07a56bfe3f Parsing GeoJSON FeatureCollection 2013-01-22 17:41:22 -07:00
Tim Schaub
35f6984e69 Unused var and some notes 2013-01-22 11:21:35 -07:00
Tom Payne
dda51ecec2 Replace ol.overlay.Overlay with ol.AnchoredElement
This commit adds several features:
- rename of class to better reflect its behaviour
- full ol.Object support
- integration with postrender event for integration with animations and
  render loop
- minimised DOM modifications
- more precise positioning
- element placed in DIV to avoid modifications to user-supplied element
- correctly handle changes to the positioning property
2013-01-22 15:12:25 +01:00
Tom Payne
4ab09d6df2 Merge pull request #140 from twpayne/array-clean-ups
Array clean ups
2013-01-22 06:00:04 -08:00
ahocevar
4e6b864e27 Making default symbolizers compiler safe 2013-01-22 14:09:04 +01:00
ahocevar
16865fc1fa Removing no longer needed Tiled Vector Source. 2013-01-22 13:24:37 +01:00
Tom Payne
f2164e5028 Export map.getLayers 2013-01-22 13:08:40 +01:00
Marc Jansen
577fc86684 Merge pull request #147 from marcjansen/goog.now
Use goog.now() instead of Date.now().
2013-01-22 03:13:15 -08:00
Marc Jansen
8d979127fc Use goog.now() instead of Date.now().
Date.now() is not supported in Internet Explorer up to IE 9. The goog.now()
method can be used as a replacement.
2013-01-22 12:01:44 +01:00