Commit Graph

2247 Commits

Author SHA1 Message Date
Jan Pieter Waagmeester
a7d7bedda7 Add a space to make comments look consistant
And now back to real work.
2015-02-27 15:15:16 +01:00
Yohan Boniface
5b3ba078bf Do not try to remove drag class if marker as no icon
Since 4c46abe781 it's possible
to have a marker off the map with dragging still enabled.
We want to be able to disable it in this situation too.
2015-02-13 17:53:23 +01:00
Asko Kauppi
a7fc9c9a5f two small typos I spotted during code read-through 2015-02-08 17:06:16 +02:00
John Firebaugh
71c11987b5 Ensure tiles have 0 opacity when first painted
Fixes #3206
2015-02-06 15:54:13 -08:00
John Firebaugh
875ec02e5f Remove obsolete unloadInvisibleTiles option 2015-02-06 15:51:20 -08:00
Vladimir Agafonkin
54c712cf2b Merge pull request #2926 from aparshin/clip-round
Add optional parameter for result rounding in L.PolyUtil.clipPolygon and L.LineUtil.clipSegment
2015-02-06 17:42:53 +02:00
Vladimir Agafonkin
1d7c492bdd discard unneeded tile buffers 2015-02-06 12:17:26 +02:00
John Firebaugh
8d96505527 Remove src reset on removed tiles
This is a performance hit on Chrome; no evidence it ever
solved a real issue. (Ref #107)
2015-02-06 03:13:49 +02:00
John Firebaugh
a0ebbef007 Don't adjust opacity for non-current tiles 2015-02-06 03:13:49 +02:00
Jared
ff679aa7dc Do not render the stroke if the weight is explicitly set to 0
When rendering to SVG, if the weight is 0 the outline is not displayed.
However, when rendering to canvas it will still display the outline.
This change makes the behaviour consistent when rendering to either.
2015-02-06 11:41:40 +13:00
John Firebaugh
fc70a21884 Go back to non-incremental tile pruning algorithm 2015-02-03 14:06:49 -08:00
Vladimir Agafonkin
ddcfa5265a less redundant opacity-changing frames 2015-02-03 15:25:22 +02:00
John Firebaugh
602648111f Use rounded zoom level when calculating tile bounds 2015-02-02 13:46:24 -08:00
John Firebaugh
4d119c9cdb Don't prune tiles during animated zoom
Tiles around the border will not be necessary when the zoom
completes, but need to be retained during the zoom.
2015-02-02 12:31:46 -08:00
John Firebaugh
16b1b26116 Adjust retention logic
Continue to retain loaded-but-still-fading-in tiles,
but also continue to look for loaded-and-active tiles.

This reduces flicker on multiple rapid zoom actions.
2015-02-02 12:29:53 -08:00
Vladimir Agafonkin
cbfbc88370 optimize DomUtil.setOpacity
V8 can’t optimize functions with try/catch inside
2015-02-02 10:50:18 -08:00
Vladimir Agafonkin
fb6eda1fbe don't request redundant fade in frames 2015-02-02 10:50:18 -08:00
John Firebaugh
465cfbad29 Remove opacity resetting on zoom of pre-existing tiles
Now that we are fading during the zoom animation, this
is no longer necessary. The zoom animation itself provides
enough of a transition, and resetting the opacity can lead
to more flickering than it solves.
2015-02-02 10:50:18 -08:00
John Firebaugh
7d90dc152e Clean up pixel bounds calculations 2015-02-02 10:50:18 -08:00
John Firebaugh
bb19fc1bf8 Deterministic tile pruning
Do not throttle _pruneTiles. Instead, when adding new tiles,
prune tiles that are no longer needed immediately, and when
a new tile finishes its fade animation, immediately prune
just its parents/children.
2015-01-29 16:26:32 -08:00
Vladimir Agafonkin
e7a7bfc9ea fix build 2015-01-28 19:45:56 +02:00
John Firebaugh
bbf32ebfcd Begin tile loading and fading during zoom animation 2015-01-28 19:44:15 +02:00
John Firebaugh
22cfd12956 Fade tiles with requestAnimationFrame rather than CSS 2015-01-28 19:44:14 +02:00
Vladimir Agafonkin
aeb5083170 complete the switch to ESLint 2015-01-28 19:33:45 +02:00
Vladimir Agafonkin
e749d1915b add ESLint rules; various code style fixes 2015-01-28 17:27:31 +02:00
Vladimir Agafonkin
65efd30567 minor chaining fixes 2015-01-28 17:17:26 +02:00
Vladimir Agafonkin
93f3304f22 fix zoom control regression 2015-01-27 23:15:07 +02:00
Vladimir Agafonkin
aace5b278e add Control.Zoom disable/enable methods, close #3172 2015-01-27 19:09:49 +02:00
Tom MacWright
a28c9508be Don't mutate this._defaultLocateOptions. 2015-01-25 19:27:24 -05:00
Hans Kristian Flaatten
73147bc9e6 Update year in copyright.js 2015-01-24 11:20:01 +01:00
Stefan Sydow
4c46abe781 preserve dragable state on layer deactivation 2015-01-19 19:07:04 +01:00
Bernhard Eder
cc750d43ae fixed error in _tryAnimatedPan when options is undefined 2015-01-18 23:45:38 +01:00
Vladimir Agafonkin
e653cbe864 Merge pull request #3143 from bcamper/flyto-3139
flyTo: convert targetCenter to latLng
2015-01-18 11:18:53 +02:00
Chris Laidlaw
48a374db05 BUG: _tryAnimatedPan lies to setView about whether or not an animation was initiated. 2015-01-15 15:42:54 -08:00
Brett Camper
c656e3f993 flyTo: convert targetCenter to latLng
see #3139
2015-01-14 19:47:46 -05:00
Vladimir Agafonkin
c3a39f50cf fix accidentally broken build 2015-01-13 13:31:46 +02:00
Vladimir Agafonkin
4dfbcc46dd remove inertiaThreshold option, ref #3063 2015-01-13 13:31:11 +02:00
Vladimir Agafonkin
646d83608f Merge pull request #3063 from RickMohr/improve-inertial-scrolling
Improve inertial scrolling
2015-01-13 13:29:41 +02:00
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