Commit Graph
100 Commits
Author SHA1 Message Date
ahocevar 18b0c5fc7d Merge pull request #812 from ahocevar/mousewheel
Better mousewheel/touchpad behavior for zooming. r=@elemoine
2013-02-14 01:13:56 -08:00
ahocevar f46ed44131 Merge pull request #857 from faegi/featureClickPatch
Clear cached mousedown/up positions used for distinguishing between (fix #856).
2013-02-12 01:46:30 -08:00
ahocevar 982302ff03 Merge pull request #877 from finn-no/panzoombar-fix
Fix click on PanZoomBar when page is scrolled (fix #798).
2013-02-11 23:58:41 -08:00
ahocevar 47d60a6ab8 Merge pull request #874 from ahocevar/tilemanager-backbuffer-id
Tile images should not have an id. r=@bartvde
2013-02-07 08:17:35 -08:00
ahocevar 7936f0345f Tile images should not have an id
When the TileManager adds an image to its cache, it might be a backbuffer
image. Backbuffer images have an id with a '_bb' postfix. Regular images
do not have an id at all. In OpenLayers.Layer.Grid, in
addTileMonitoringHooks, a loadend listener is created for each tile. This
listener checks for tie image id, and will remove it from its parent node.
This will cause images to be removed from the layerDiv if the image comes
from the TileManager's tileCache and was on a backbuffer by the time it was
added to the cache.

Simply removing the image's id before assigning it to a tile resolves the
issue.
2013-02-07 16:44:16 +01:00
ahocevar 47e7c300a8 Merge pull request #863 from ahocevar/uncache
Uncache images that are no longer valid. r=@bartvde
2013-02-01 06:01:40 -08:00
ahocevar 378a0e97b5 Uncache images that are no longer valid
When a layer sets a cached image's className to something else than
.olTileImage (e.g. by setting .olTileReplacing), we should not keep the
image in the cache any more, because it may no longer be valid.
2013-02-01 00:58:40 +01:00
ahocevar 40f9296372 Merge pull request #850 from eykamp/irregular_character
Irregular character
2013-01-22 06:56:25 -08:00
ahocevar 32d7e02ec0 Merge pull request #843 from ahocevar/early-loadend
Safeguard against listeners that recreate the grid. r=@bartvde
2013-01-17 07:30:22 -08:00
ahocevar c742c14a52 Safeguard against listeners that recreate the grid
We need to handle the backbuffer before we fire the loadend event.
Otherwise listeners that call e.g. mergeNewParams() will cause the
backbuffer removal code to fail, because tile.imgDiv (and hence
this._transitionElement) will be null.
2013-01-17 16:24:15 +01:00
ahocevar 86c425774a Merge pull request #839 from ahocevar/tilemanager-changelayer
Process queue immediately when params change. r=@bartvde
2013-01-16 04:14:50 -08:00
ahocevar e23c18a09c Process queue immediately when params change
This fixes an issue where the queue would never be processed when a layer
is updated using mergeNewParams.
2013-01-16 12:09:37 +01:00
ahocevar 2a7547c36c Merge pull request #836 from ahocevar/replacing
No .olTileReplacing class for singleTile layers. r=@bartvde
2013-01-16 02:48:26 -08:00
ahocevar fde7c5cc76 After #829 fallThrough needs to be true for this test 2013-01-15 13:41:26 +01:00
ahocevar 2cd14dfbfd No .olTileReplacing class for singleTile layers
This fixes a regression for singleTile layers with transitionEffect set to
'resize', where the .olTileReplacing class was not removed from the tile.
2013-01-15 13:08:48 +01:00
ahocevar 3107751fb7 Clarifications on fallThorugh (see #829) 2013-01-10 22:12:35 +01:00
ahocevar 158185e9a2 Merge pull request #829 from bjornharrtell/fallThough
Default fallThrough to false
2013-01-10 13:08:21 -08:00
ahocevar 6ce72e9185 Adding TileManager to mobile build profile, and note in Map.js
As suggested by @probins; see #702.
2013-01-08 14:26:18 +01:00
ahocevar 8b501eb051 Merge pull request #811 from ahocevar/mergenewparams
When the resolution does not change, remove backbuffer tile by tile. r=@bartvde
2013-01-07 13:45:53 -08:00
ahocevar f0db21f9c9 Fixing tests 2013-01-07 18:16:23 +01:00
ahocevar c8564838bc When the resolution does not change, remove backbuffer tile by tile
This change introduces a new 'replace' mode for tile transitions: when the
resolution does not change, which happens when mergeNewParams is called,
the tile will be marked with the .olTileReplace class. If this class sets
the tile's imgDiv display to 'none', the backbuffer for the tile will
immediately be removed when the tile is loaded.
2013-01-07 15:42:34 +01:00
ahocevar 18d548f979 Merge pull request #702 from ahocevar/smart-queue
New tile image cache and tile queue improvements. r=@bartvde,@elemoine
2013-01-07 06:38:07 -08:00
ahocevar 4a3651b7da Release notes and additional in-line comment
As suggested by @bartvde.
2013-01-07 15:30:05 +01:00
ahocevar 80f13188a3 Addressing @bartvde's review comments 2013-01-07 14:26:41 +01:00
ahocevar 1eeda5d9f7 Merge pull request #823 from probins/maxextent
Overview map should use map.getMaxExtent
2013-01-07 00:56:05 -08:00
ahocevar 94020f0fb1 Merge pull request #822 from probins/mapmax
Map: correct docs for maxExtent
2013-01-07 00:55:22 -08:00
ahocevar f71976b487 Merge pull request #818 from Turbo87/encoded-polyline
examples/vector-formats: Added "Encoded Polyline" format
2013-01-02 07:03:12 -08:00
ahocevar b57540ecfc Merge pull request #813 from Turbo87/encoded-polyline
Format: Added EncodedPolyline class. Merging this as a first step towards
support for alternative geometry encodings. See #813 for TBDs.
2012-12-28 11:55:12 -08:00
ahocevar 4b2e80fa36 Merge pull request #805 from mosesonline/unselectAllFix
unselectAll on removing layer fix
2012-12-24 06:17:04 -08:00
ahocevar 07e039b566 Merge pull request #803 from ahocevar/tween-framerate
Tween: skip frames when minimum frame rate is not reached. r=@bartvde
2012-12-24 06:11:11 -08:00
ahocevar 1081fc4b54 Better mousewheel/touchpad behavior for zooming
The navigation control gets better defaults, and the MouseWheel handler
gets a new maxDelta option, which can be used to avoid huge zoom level
jumps on heavy wheel/pad movements.
2012-12-23 18:01:17 +01:00
ahocevar efd2de870a Recovering from merge conflicts 2012-12-23 17:24:20 +01:00
ahocevar 64177a52ec Enable fade-in for tiles from cache when we have a backbuffer 2012-12-23 17:00:47 +01:00
ahocevar a02e08ad2a New beforeload event and slightly changed loading sequence
Having the TileManager remove an image from the DOM, then setting the
cached image, and then having to position it felt a bit awkward. With the
new beforeload event, the setImage method and putting renderTile before
positionTile, providing the cached image feels way more natural.
2012-12-23 17:00:46 +01:00
ahocevar 64df7e3d04 Remove images from dom when replacing them with cached images 2012-12-23 17:00:46 +01:00
ahocevar faa0e60b99 512 tiles is too much for some mobile browsers 2012-12-23 17:00:46 +01:00
ahocevar c0913668d3 moveTimerId is no longer used 2012-12-23 17:00:45 +01:00
ahocevar ecbedf5536 Updating tests 2012-12-23 17:00:45 +01:00
ahocevar 273657a6ab Adding API docs for the tileManager property 2012-12-23 17:00:45 +01:00
ahocevar 781f2ac73d Configure maps with TileManger instances (and not the other way around)
This resolves issues with destroying caches on window unload, and makes
cache sharing among maps less confusing to configure.
2012-12-23 17:00:45 +01:00
ahocevar 9609bb1449 Adding destroy method, as suggested by @bartvde 2012-12-23 17:00:45 +01:00
ahocevar 80fa251649 New TileManager
This removes all tile queueing/loading specific code from Layer.Grid
and creates a new class that manages tile loading and caching.
2012-12-23 17:00:45 +01:00
ahocevar 2ee362a79b New tile image cache and tile queue improvements
We now reuse tile images by maintaining a cache of image elements with a
simplified LRU expiry policy (by order, not by timestamp). The tile queue
is bypassed for images that are available in the cache, so they can be
rendered immediately. And the tile queue itself loads more than just one
image at a time now (2 per layer url).
2012-12-23 16:57:24 +01:00
ahocevar 9759902dac Fixing API; addressing @mpriour's doc comment
Previously, minFrameRate could not be set as option with the start method.
The tests failed to catch this flaw. Now both the start method and the
tests are fixed.
2012-12-21 21:24:04 +01:00
ahocevar 810d9ea95d Fixing line breaks. 2012-12-21 13:10:26 +01:00
ahocevar c6aa104462 Merge pull request #810 from ahocevar/transitionend
Use transitionend listeners where available. r=@bartvde
2012-12-21 04:08:29 -08:00
ahocevar fcd8586883 Using an array for the transitionend event names 2012-12-21 13:07:36 +01:00
ahocevar 43c646b6da Use new Opera event name as well
As pointed out by @bartvde, according to
http://stackoverflow.com/questions/5819912/webkit-transition-end-in-mozilla-and-opera,
Opera uses otransitionend or oTransitionEnd, depending on the version.
2012-12-21 13:01:15 +01:00
ahocevar dd244e6988 Use transitionend listeners where available
In addition to relying on removeBackBufferDelay, we can remove the
backbuffer earlier without flicker in an ontransitionend listener on the
last loaded tile.
2012-12-21 12:33:28 +01:00
ahocevar 86db8fabc6 Merge pull request #807 from ahocevar/units
WMTS Example misaligning with OSM base layer. r=@sbrunner
2012-12-20 14:35:57 -08:00
ahocevar fc64b2c5f8 Fixing tests properly, as suggested by @sbrunner 2012-12-20 16:30:58 +01:00
ahocevar f5d7f794c9 Some tweaks to make tests pass again 2012-12-19 23:13:11 +01:00
ahocevar 893966dfae 'm' and 'Meters' in OpenLayers.INCHES_PER_UNIT are not the same
OpenLayers.INCHES_PER_UNIT.m should equal
OpenLayers.INCHES_PER_UNIT.Meters, just like OpenLayers.INCHES_PER_UNIT.km
should equal OpenLayers.Inches_PER_UNIT.Kilometers. This confusion probably
comes from mixing International inches with US Survey inches when compiling
the unit conversion list (1 meter is 39.37007874 International inches, but
39.37 US Survey inches. It may not be obvious, but 'inches'/'Inch' in
OpenLayers means US Survey inch, and 'IInch' means International inch).

This change also fixes offsets caused by incorrect resolution calculations in
OpenLayers.Format.WMTSCapabilities.
2012-12-19 22:23:45 +01:00
ahocevar f0f1ea0867 Skip frames when minimum frame rate is not reached
The new minFrameRate option is used to make sure that an animation does not
run longer than the time calculated from that frame rate. Time is made up
by skipping frames, i.e. skipping execution of the eachStep callback.
2012-12-17 14:54:08 +01:00
ahocevar 257b249b9d Updating notes after 84cf468 2012-12-14 09:35:15 +01:00
ahocevar 84cf468a22 Use http protocol for non-http (i.e. file) URIs (see #700) 2012-12-14 09:30:13 +01:00
ahocevar 083fcca882 Fixing tests (see #700) 2012-12-14 09:07:26 +01:00
ahocevar ab5035ba05 Note about Bing protocol change (see #700) 2012-12-14 01:28:21 +01:00
ahocevar bb788fdd0b Merge pull request #700 from rjmackay/bing-maps-ssl-699
Make Bing maps use SSL (if current document does)
2012-12-13 16:23:54 -08:00
ahocevar 7061cbf0fa Merge pull request #787 from ahocevar/mousewheel-event
Wheel handler does not work on IE when interval is set. r=@bartvde
2012-12-10 14:02:58 -08:00
ahocevar e295e3b70f Merge pull request #788 from ahocevar/no-opacity
Rework of Google layer leads to map div transparency. r=@bartvde
2012-12-10 00:49:54 -08:00
ahocevar e2dcfb7965 Merge pull request #791 from ahocevar/google-tilesloaded
Do not add viewport to GMaps object before it is fully rendered. r=@bartvde
2012-12-10 00:48:30 -08:00
ahocevar 6724098f5b Notes about Google.v3 layers (see #484) 2012-12-08 20:10:52 +01:00
ahocevar ab53f7c311 Do not add viewport to GMaps object before it is fully rendered
This avoids issues with Elements renderers, where the nodeFactory method
cannot find nodes while the map viewport is transitioning from the mapDiv
to the googleControl.
2012-12-08 14:53:48 +01:00
ahocevar 64508c741e Avoid transparent OpenLayers content on top of Google layer 2012-12-08 01:53:44 +01:00
ahocevar c36b897878 Removing unused code
Because this method is called by OpenLayers.Function.bindAsEventListener,
which conditionally assigns window.event already, e cannot be null or
undefined here.
2012-12-07 21:10:20 +01:00
ahocevar 8701a54603 Cloning event for use in delayed function
In IE, where window.event is used, the event can change during the delay.
To avoid this, we store the event properties in a new object.
2012-12-07 21:09:09 +01:00
ahocevar 1b1e90c268 Merge pull request #484 from ahocevar/484
Rework Google layer. r=@bartvde
2012-12-06 02:48:55 -08:00
ahocevar 978cb4be9f Only create Google control once
The control div is now an empty container that we can always append to and
remove from without having to worry about GMaps changing styles on it. It
also makes sure that the control is appended before Google's own
attribution control, so the "Report a map error" link will always be
clickable.
2012-12-06 11:44:49 +01:00
ahocevar d75e3ecac9 Removing google.css from other examples and tests 2012-12-06 10:35:03 +01:00
ahocevar 00d9664b95 No longer touching internal GMaps DOM elements.
Simple and effective: As soon as a map has a Google layer, the whole map viewport is added as control to the GMap. As soon as no Google layer is visible on the map any more, the map viewport is appended to the map container again. With this change, OpenLayers strictly limits its GMaps integration to the GMaps API.

Also note that there are no css overrides for the attribution any more. Instead, controls can now be conditionally positioned differently for Google layer by using the .olForeignContainer selector.
2012-12-06 10:35:03 +01:00
ahocevar df6e0a0846 Easier workaround for border image squeezing issue 2012-12-04 14:10:33 +01:00
ahocevar 470cce73ab Merge pull request #775 from ahocevar/wmts-resolutions
Fix regression introduced by #732. r=@sbrunner
2012-11-28 05:50:22 -08:00
ahocevar 1cc07232a7 Fixing regression introduced by #732
Now that serverResolutions are set for all layers, we need to generate
resolutions also for non-baselayers.
2012-11-28 07:12:29 -06:00
ahocevar c48458faa5 Merge pull request #760 from ahocevar/wmscaps-scalehint
Correct handling of 0 and Infinity ScaleHint. r=@marcjansen
2012-11-20 08:01:48 -08:00
ahocevar 5273d63f3a Documenting ScaleHint parsing, as suggested by @marcjansen 2012-11-20 17:01:08 +01:00
ahocevar cbc4f4e422 Correct handling of 0 and Infinity ScaleHint
minScale and maxScale values of 0 and Infinity do not make sense in
OpenLayers, but they are used in WMS GetCapabilities 1.1.1 to indicate
that there is no minScale or maxScale restriction. Assuming that the
capability values for minScale and maxScale are passed as config options
to a WMS layer, it is better to not set minScale and maxScale when 0 or
Infinity are found in the ScaleHint.
2012-11-16 17:31:45 +01:00
ahocevar 7530751d98 Merge pull request #747 from ahocevar/wpsexecute-mixin
Filter.v1 methods need to be available when using Filter writers. r=@bartvde
2012-11-07 09:51:07 -08:00
ahocevar a2fe036e2c Filter.v1 methods need to be available when using Filter writers
Format classes that define member methods need to be mixed into other
format classes that use their writers. In this case, methods from
Filter.v1 were missing so a test for Format.WPSExecute failed.
2012-11-07 18:14:56 +01:00
ahocevar d431b504bd Missing change that should have gone in with #705 2012-11-07 16:54:26 +01:00
ahocevar 4f5bcdbe76 Fixing mock 2012-11-07 16:25:34 +01:00
ahocevar a54ecca32b Merge pull request #705 from ahocevar/animation
Remove complexity from the image loading sequence. r=@elemoine,@tschaub
2012-11-05 10:33:59 -08:00
ahocevar 5a3bcc716b Not using requestAnimationFrame
Using the Timeline tab of the Chrome Developer Tools, no significant
difference of Paint events can be observed when requestAnimationFrame is
used. So I agree with @elemoine that there is no need to introduce
asynchronous behavior here.
2012-11-05 17:28:10 +01:00
ahocevar 65fa1aaa2d Make sure we do not make abandoned tiles visible 2012-11-05 10:43:05 +01:00
ahocevar 796a349c61 Synchronous image loading for opacity and backbuffer tests 2012-11-05 10:40:50 +01:00
ahocevar ebeb49b5e7 blankImageUrl is no longer needed for image tiles 2012-11-05 10:40:05 +01:00
ahocevar 7f2ce74dd7 Merge pull request #732 from ahocevar/wmts-serverresolutions
WMTS layers created from capabilities have no serverResolutions. r=@sbrunner
2012-10-25 08:06:05 -07:00
ahocevar ca532c5db6 WMTS layers created from capabilities have no serverResolutions
By adding serverResolutions to the WMTS configuration, it is possible to
use WMTS layers as overlays, even if the map or the base layer is
configured with different resolutions than the WMTS.
2012-10-25 14:40:26 +02:00
ahocevar 4b7a0b43b1 Merge pull request #709 from jorix/ghostClusters
Bug: Ghost clusters
2012-10-17 10:33:30 -07:00
ahocevar c3b13b5df3 Using radix parameter to make linter happy 2012-10-15 08:27:01 +02:00
ahocevar e38ab01752 Fixing image-layer example 2012-10-13 09:26:45 +02:00
ahocevar 583dc15700 Merge pull request #587 from ahocevar/587
Layer.WMS: BBOX precision errors in URLs. r=@bartvde
2012-10-12 08:53:23 -07:00
ahocevar a0acf1e550 Calculating rowSign only once 2012-10-12 16:16:44 +02:00
ahocevar 0eb8949ad2 Updating and fixing API docs 2012-10-12 16:11:10 +02:00
ahocevar f757580ed4 Merge pull request #634 from ahocevar/634
CacheWrite caches an empty image if the tile is unloaded before the image is loaded. r=@bartvde
2012-10-12 06:41:24 -07:00
ahocevar e5feda7ad7 Camel casing method name 2012-10-12 15:03:38 +02:00
ahocevar 157dd9e1c2 Fixing typo 2012-10-12 14:44:48 +02:00
ahocevar 6607bcc0bb Do not cache data from aborted tile loads
This also results in a simplified cache method that can more easily be
overridden for use with other storage providers.
2012-10-12 14:06:08 +02:00
ahocevar cf3ea0c7db Register application listener after the control's 2012-10-12 13:41:54 +02:00
ahocevar ff4a1b2468 Optimizing positions for rendering
Calculating pixel positions from origin and grid index causes alignment
issues in the grid. By going back to incremental positioning, we get a
result without blank spaces between tiles again.
2012-10-12 03:23:56 +02:00