Vladimir Agafonkin
b76caf0f3c
don't count how many tiles to load, ref #3129
2015-01-13 13:22:19 +02:00
John Firebaugh
d08bdc8e78
Calculate _tilesToLoad
...
Avoids cached _tilesToLoad value getting out of sync with
actual loading tiles, e.g. if _removeOtherTiles or _abortLoading
removes tiles that are loading.
2015-01-12 17:40:28 -08:00
John Firebaugh
99a21117a0
Merge _tiles, _loaded, and _retain into a single map
2015-01-12 17:40:28 -08:00
John Firebaugh
c8fca59b51
Move _pruneTiles up to _update
...
_update is the only place _addTiles is called from,
makes more sense to call _add then _prune than for
_add to call _prune itself.
2015-01-12 13:03:51 -08:00
cebence
bea51fdf4f
Disabled by default so it doesn't break existing apps.
2014-12-18 14:28:51 +01:00
cebence
5066ecf043
Hide single base layers in the Layers control.
2014-12-18 13:20:09 +01:00
Miroslav Raska
44a56b3a79
Properly unsubscribe Layer events
...
I've just bumped into this while browsing the source code. It's not tested in any way and I didn't look for similar issues in other files neither. But I hope it helps anyway.
2014-12-08 21:30:44 +01:00
Sergey Kruk
65cc3c813b
Refactoring: L.latLng factory to call constructor with explicit arguments number
2014-12-06 15:32:22 +03:00
Sergey Kruk
c8e5d7c61b
L.latLng factory not to throw error on empty array parameter
2014-12-05 20:36:35 +03:00
Sergey Kruk
c5ebd534b2
Factory L.latLng to accept altitude as third parameter or an object's 'alt' property
2014-12-01 16:02:43 +03:00
Rick Mohr
08d828f519
Improve inertial scrolling
...
[This post](http://stackoverflow.com/a/3628949/362702 ) claims that in Apple's kinetic scrolling, "The velocity of the touch is measured at the exact moment that the finger is lifted."
I tried both this "final velocity" approach and the "max velocity" approach proposed in #2987 . Both allow a stronger "fling" than the current "average velocity" approach, but "max velocity" can feel wrong if you slow down at the end of your swipe.
But because the "final velocity" approach uses just one data point it can be unstable, occasionally giving a too-large velocity from a small time delta.
Best is to stabilize that by averaging a few data points, so we're back to "average velocity" but using a shorter time period. Averaging over 50 ms instead of 100 ms gives good results, usually 4 data points on both my iPhone 4s and Chrome on my Windows laptop.
Another reason the current code has a weak fling is that the velocity was being calculated incorrectly. Because `delay` was added to the time delta, time was computed from n+1 points but distance from n points.
I also changed the default value of `inertiaThreshold` (intended to prevent unwanted additional movement if you stop dragging and then lift your finger) to `Infinity`, for two reasons:
1) A fling gesture often failed on my iPhone because the measured `delay` was higher than `inertiaThreshold` (current default 32), sometimes by hundreds of ms.
2) With the updated velocity code I don't see unwanted additional movement when I stop dragging and then lift my finger.
There is a remaining issue (with both the original and updated code). If you fling the map and try to fling it again before it stops moving, no drag events are generated for the second fling so it has no effect. I don't see this problem with e.g. Google or Apple maps. Entered as #3062 .
Fixes #2987
2014-11-26 11:34:28 -05:00
Vladimir Agafonkin
1ec89d2fdc
Merge pull request #3043 from kerryarts/ie8-zindex-fix
...
Default zIndex to be a valid value to fix exception in ie8
2014-11-24 15:48:42 +02:00
Kenny Shepard
86a3e0cc8c
Initialize _sizeChanged to prevent async issues
...
When asynchronously initializing a map, the series of events can
create a scenario where _size is incorrectly initialized, and
therefore calls to getSize will not cause a new value to be generated.
This fix sets _sizeChanged to true upon map initialization, which
allows the following first call to getSize to work properly.
Closes #3031
2014-11-21 17:54:46 -05:00
Vladimir Agafonkin
76440b9df2
Merge pull request #3050 from kdeloach/topic/disable-zoom-scrolling
...
Remove global variable that disables dragging for all maps during zoom
2014-11-21 21:52:42 +02:00
kdeloach
c97c48325a
Remove global variable that disables dragging for all maps during zoom
...
Starting a zoom animation will disable dragging for all maps on the
page. Only the map that is being zoomed should have dragging disabled.
This fix removes a global static variable which is redundant since
the map pane already has a css class assigned to it for the duration of
the zoom animation.
Fixes #2539
2014-11-21 14:41:00 -05:00
Vladimir Agafonkin
e5ee31d6b5
Merge pull request #3048 from CloudNiner/feature/fix-2318
...
Closes #2318 : getMaxZoom returns prev layer on baselayerchange
2014-11-21 21:01:21 +02:00
CloudNiner
703f9a47d9
Closes #2318 : getMaxZoom returns prev layer on baselayerchange
...
Remove all old layers before adding new ones to avoid
the old properties being returned in the baselayerchange handler.
2014-11-21 13:49:10 -05:00
kerryarts
ff10d00297
Check for null before setting the zindex, and instead keep it null initially. This way calls to setZIndex() wont fail if passed null.
2014-11-21 17:11:10 +13:00
kerryarts
0daf28fb4f
Fix _bringToFront/Back implementation for VML renderer
2014-11-21 09:41:02 +13:00
kerryarts
756888cee7
default zIndex to be a valid value to fix exception in ie8
2014-11-20 17:11:02 +13:00
flemenach
8c606358cc
Fix inertia animation with worldCopyJump enabled
2014-11-18 09:32:46 +01:00
Yohan Boniface
f41f37c9c0
More compact code
2014-11-14 17:12:15 +01:00
Yohan Boniface
86de51ed9e
We don't need an option for the zoom factor
2014-11-14 14:16:41 +01:00
Yohan Boniface
44a10690a7
Implement fast zoom on minus/plus keydown with shiftKey
2014-11-14 12:38:09 +01:00
John Firebaugh
87c7d1d563
No-op Control#remove if not on a map ( fixes #2877 )
2014-11-13 11:25:49 -08:00
John Firebaugh
0b86fa3266
Remove control from existing map in onAdd ( fixes #3020 )
2014-11-13 10:49:43 -08:00
John Firebaugh
ef96884021
Ensure parent init hooks are called ( fixes #2545 )
2014-11-12 14:49:46 -08:00
John Firebaugh
bad49e7612
Add autoClose option to Popup
...
Fixes #2716
Fixes #1853
2014-11-12 12:52:50 -08:00
John Firebaugh
ad12e33dd9
Fix trailing whitespace
2014-11-12 11:30:43 -08:00
John Firebaugh
82934f95d9
Merge pull request #3008 from snkashis/imgoverlay_style
...
allow for setStyle option re: opacity on FeatureGroup to reach ImageOverlays
2014-11-12 10:50:11 -08:00
John Firebaugh
269700925a
Merge pull request #3009 from snkashis/img_overlay_evt
...
add interactive option for events on ImageOverlay
2014-11-12 10:41:10 -08:00
Vladimir Agafonkin
de868d6a83
don't require DomEvent for attrib & markers, close #2854
2014-11-12 12:21:39 +02:00
John Firebaugh
aa8be54513
stopPropagation of click event following drag operation ( fixes #2930 )
2014-11-11 17:08:27 -08:00
Vladimir Agafonkin
d9a327007b
Merge pull request #3014 from Leaflet/tile-loading
...
More tile loading fixes
2014-11-12 00:46:14 +02:00
Vladimir Agafonkin
c6bcdb031b
fix ImageOverlay anim in weird projections, close #3011
2014-11-11 16:55:12 +02:00
Vladimir Agafonkin
d0f5b51ad5
fix awesome bug regression, close #3013
2014-11-11 12:38:42 +02:00
Vladimir Agafonkin
48677f2243
fix maxNativeZoom = 0 race condition, close #3004
2014-11-10 17:53:37 +02:00
Steve Kashishian
ca2f1171b7
add interactive option on ImageOverlay
2014-11-09 13:23:19 -06:00
Steve Kashishian
4317a10fc9
allow for setStyle option regarding opacity calls on FeatureGroup to reach ImageOverlays contained inside
...
Brought from @opie implementation in #2246
2014-11-09 11:57:01 -06:00
David Leaver
8682511e2c
Move locally declared methods out.
2014-11-09 18:08:53 +13:00
John Firebaugh
68f86d85d3
Better fix for tile pruning
...
Need to always prune in _addTiles, otherwise tiles can
get stranded.
2014-11-07 16:27:42 -08:00
David Leaver
2dad982a6e
Remove unused e parameter
2014-11-08 09:44:43 +13:00
David Leaver
e41c131dbb
Remove touch tracking from DoubleTap and improve DomEvent.Pointer e.touches emulation to provide a suitable replacement.
...
Refs #2820
2014-11-08 09:40:01 +13:00
John Firebaugh
bfdb7d08c7
Don't delay tile updates triggered by moveend
2014-11-07 12:11:59 -08:00
John Firebaugh
7b5168acec
Ensure that added tiles are retained
...
Previously, quickly zooming out and then back in sometimes left
only overzoomed tiles for the lower zoom level visible. The
problem was a race condition with deferred pruning:
1. Start at z15. Zoom in. This triggers loading of z14 tiles. As each
tile loads, _pruneTiles (throttled) is called. This results in deferred
removal of z15 tiles (250ms setTimeout). The deferral is done to avoid
flicker while the z14 tiles are faded in.
2. During the 250ms, zoom in. This triggers `_addTiles`, but since the
deferred pruning of the z15 tiles hasn't happened yet, the tiles are
still present in `this._tiles`. Therefore no tiles are queued for
loading, triggering an early return in `_addTiles`, before `_pruneTiles`
is called.
3. Deferred pruning of the z15 tiles happens. Since `_pruneTiles` was
short-circuited at z15, these tiles were never retained, nor were the
z14 tiles scheduled for pruning. End result is that the z15 tiles are
removed from the DOM while the z14 tiles remain, scaled 2x.
2014-11-06 16:27:47 -08:00
John Firebaugh
78463e826b
jshint
2014-11-06 16:27:47 -08:00
Vladimir Agafonkin
5f9321bac0
Merge pull request #3001 from snkashis/latlng_bounds_conversion
...
extract bounds conversion from Map.Geolocation.Also fix geolocation test...
2014-11-06 21:55:57 +02:00
Steve Kashishian
f3b132e414
extract bounds conversion from Map.Geolocation.Also fix geolocation test page.
2014-11-06 13:23:14 -06:00
Steve Kashishian
1eae1719bb
no map._popup check needed
2014-11-06 13:02:21 -06:00
Steve Kashishian
ead96e500e
closes an open popup with escape key
2014-11-06 12:48:13 -06:00
Fabian Zeindl
4f06ac30b0
Don't append/remove the SVG container
...
Tested this on IOS7, which has 85% adoption and I see no flicker.
Reduces layout and paint-times.
2014-11-05 18:19:35 -08:00
Jeff Smale
c6dea37d86
Preserve marker draggability on setIcon ( fixes #2578 )
2014-11-05 18:12:21 -08:00
John Firebaugh
e6d857eb70
jshint
2014-11-05 15:22:49 -08:00
John Firebaugh
ea2c397523
No-op bringToFront/Back when Path is not on a map ( fixes #2439 )
2014-11-05 15:13:28 -08:00
Vladimir Agafonkin
40376dc3be
simpler retina detection fallback, close #2258
2014-11-04 13:46:53 +02:00
Vladimir Agafonkin
f10512f836
fix map.fitBounds race condition, close #2957
...
Fixes a situation where map.fitBounds(map.getBounds()) sometimes zoomed
out.
2014-10-31 13:57:23 +02:00
Vladimir Agafonkin
d4354bc370
fix TileLayer tms option regression
2014-10-29 18:27:55 +02:00
Vladimir Agafonkin
36b958cad0
fix WMS passing all options as WMS params, close #2972
2014-10-29 18:22:28 +02:00
Vladimir Agafonkin
f75133a482
fix blurry map after stopping inertia, close #2979
2014-10-29 17:28:50 +02:00
Vladimir Agafonkin
11b39edfa1
fix TileLayer loading event after setUrl
2014-10-29 17:19:54 +02:00
Vladimir Agafonkin
9923e4bb91
Merge pull request #2977 from yohanboniface/geojson-edge-case
...
Fix array of array of LatLngs toGeoJSON edge case
2014-10-27 10:40:55 +02:00
Yohan Boniface
1ddac9361a
Fix array of array of LatLngs toGeoJSON edge case
2014-10-26 21:00:56 +01:00
Bernhard Eder
9707648550
fixed GridLayer not showing up after removing and adding the same instance
2014-10-26 15:45:15 +01:00
Vladimir Agafonkin
72707e3e30
fix GridLayer.redraw regression, close #2966
2014-10-23 14:27:05 +03:00
Vladimir Agafonkin
eacc499199
fix GridLayer tile loading edge case
2014-10-23 13:23:37 +03:00
Vladimir Agafonkin
2ff2c42847
move some GridLayer tests, add createTile stub
2014-10-23 12:58:29 +03:00
Alex Jeng
2f6ce64cc4
Minor change in comments for better consistency
2014-10-21 23:22:11 -07:00
Vladimir Agafonkin
d93e828935
stop panning/fly animations when necessary
2014-10-21 12:21:32 +03:00
Vladimir Agafonkin
23998c1f9c
ditch transition stopping code
2014-10-21 12:21:32 +03:00
Vladimir Agafonkin
70923e6604
rename zoomPanTo to flyTo
2014-10-21 12:21:32 +03:00
Vladimir Agafonkin
7a75d07d89
update inertia settings
2014-10-21 12:21:32 +03:00
Vladimir Agafonkin
468e195ba1
rename PosAnimation.Timer to PosAnimation
2014-10-21 12:21:32 +03:00
Vladimir Agafonkin
a33eff73f0
replace CSS transitions in pan animations with frames
2014-10-21 12:21:32 +03:00
Vladimir Agafonkin
66c13bc94c
fix tile loading regression after rebase
2014-10-21 12:21:32 +03:00
Vladimir Agafonkin
8b26a7399a
fix build and cleanup tile pruning
2014-10-21 12:21:32 +03:00
Vladimir Agafonkin
a4e8f4e1a8
improve tile pruning
2014-10-21 12:21:31 +03:00
Vladimir Agafonkin
ad0cf365e7
fix world wrapping
2014-10-21 12:21:31 +03:00
Vladimir Agafonkin
44f16b2d9e
much better tile pruning; add coords to tile events, ref #2378
2014-10-21 12:21:31 +03:00
Vladimir Agafonkin
fbe23087fa
add prune lower res tiles algorithm
2014-10-21 12:21:31 +03:00
Vladimir Agafonkin
b0ce42f270
minor tile code cleanup
2014-10-21 12:21:31 +03:00
Vladimir Agafonkin
9b752757ef
more flexible tile remove method
2014-10-21 12:21:31 +03:00
Vladimir Agafonkin
683cc4534c
cleanup tile removal, make unloadInvisibleTiles work again
2014-10-21 12:21:31 +03:00
Vladimir Agafonkin
29a0eaef0f
include zoom in tile coords, simplify parsing tile keys
2014-10-21 12:21:31 +03:00
Tom MacWright
fefe4b78eb
Initialize tilesToLoad variable on GridLayer creation
2014-10-21 12:21:31 +03:00
Dave Leaver
b42500b48a
Only stop the pan animation within pan animation. If there is a zoom animation going on we don't want to stop it. Otherwise big mouse wheel zooms are broken.
2014-10-21 12:21:31 +03:00
Dave Leaver
0f0d66f3df
Support matrix3d as used in IE11
2014-10-21 12:21:31 +03:00
John Firebaugh
a34810cb85
Use Map#stop to stop all animations
2014-10-21 12:21:30 +03:00
Dave Leaver
a071f489a5
Removing comment out code and not needed todos
2014-10-21 12:21:30 +03:00
Dave Leaver
498aef4c31
Push getTransform up to L.DomUtil.getTransform rather than having it in ZoomAnimation and PosAnimation
2014-10-21 12:21:30 +03:00
Dave Leaver
b6c4ebdbca
Move the proxy in to Map.ZoomAnimation as it is the only place that uses it. Use it to detect zoom animation finishing.
2014-10-21 12:21:30 +03:00
Dave Leaver
97598d4241
Move animated zoom stopping in to the place it belongs
2014-10-21 12:21:30 +03:00
Dave Leaver
a5552f4ed4
listen to moveend instead so we know where we are after a map drag
2014-10-21 12:21:30 +03:00
Dave Leaver
7aa9d95e9a
Getting closer. project and unproject based on the current zoom seems to work in most cases.
2014-10-21 12:21:30 +03:00
Dave Leaver
c1bea627b0
stopAnimation -> stop
2014-10-21 12:21:30 +03:00
Dave Leaver
a0bc81cba8
Stop animating before starting a ZoomPan, otherwise they both run at the same time.
2014-10-21 12:21:30 +03:00
Dave Leaver
00a66b4731
Add an element for tracking zoom animations. Use it for trying to stop a map zoom. Still doesn't quite work right. Stopping a zoomPan or PanAnimation does work however. Code is all cludgy :)
...
refs #2560
2014-10-21 12:21:30 +03:00
Vladimir Agafonkin
acaea1c855
code cleanup; don't reload tile level that's already loaded
2014-10-21 12:21:29 +03:00
Vladimir Agafonkin
5912c365b7
zoom to the nearest round zoom with pinch or dblclick
2014-10-21 12:21:29 +03:00
Vladimir Agafonkin
fc655e45c7
manage tile pyramid levels; always animate tile fade
2014-10-21 12:21:29 +03:00
Vladimir Agafonkin
169b6a0e77
adjust zoomPan options, add a debug page
2014-10-21 12:21:29 +03:00