Commit Graph

2608 Commits

Author SHA1 Message Date
Will Franklin
fd8759d5e1 Use ID lookup instead to avoid re-adding layer on style change 2015-07-14 17:45:57 +02:00
Yohan Boniface
76cb60705f Switch from L_PREFER_CANVAS to map.options.preferCanvas 2015-07-14 10:27:50 +02:00
Philippe Latulippe
fd64c7e5c3 Simple canvas optimizations:
- throttle mouseover
- don't check for hover when the map is being panned (since the mouse isn't moving in relation to the map)
- only check visible layers when checking for hover (by storing unculled layers in an array)
2015-07-13 22:22:31 +02:00
Yohan Boniface
1eab6079e8 Resuscitate L_PREFER_CANVAS 2015-07-13 19:05:06 +02:00
Vladimir Agafonkin
1ee24802a7 Merge pull request #3618 from wpf500/wpf-canvas-mouse-out
Check canvas mouseout
2015-07-13 15:33:34 +03:00
Will Franklin
76cd73c97a Check canvas mouseout 2015-07-13 12:42:39 +01:00
cmulders
daac1ca559 Hardcoded dependency L.CRS.Earth in L.Control.Scale
Currently,  L.Control.Scale uses hard-coded the L.CRS.Earth.distance function, while this CRS could have been changed by the user in the map creation. Changing this to map.distance will remove this hard-coded dependency adding flexibility, while maintaining the same functionality.
2015-07-12 14:22:20 +02:00
Iván Sánchez Ortega
265f201433 Fix touchZoom regression from 06f90b1a 2015-07-10 19:13:16 +03:00
Vladimir Agafonkin
bf234810f0 fix preventOutline for nested elements, close #3606 2015-07-10 18:30:44 +03:00
Yohan Boniface
07b7219bc9 Only consider a target if it listens for event type (fix #3607) 2015-07-09 23:00:52 +02:00
Yohan Boniface
74018f284e Add nonBubblingEvents option (fix #3604) 2015-07-09 14:12:12 +02:00
Vladimir Agafonkin
d2513b2d53 fix maxNativeZoom regression, thanks @ktoto 2015-07-07 16:32:51 +03:00
Iván Sánchez Ortega
e71bd4b71f Make L.TileLayer.getTileSize aware of non-square tiles, #3600 2015-07-06 16:58:54 +02:00
Yohan Boniface
fd1b94550c Fix popup broken since 9b7f24f5f6efb94be2a96d7d7f4c604783135d10
Popup where binded by the LayerGroup, which was not finring the click
event, because not propagated from the layers
2015-07-06 13:55:59 +02:00
Vladimir Agafonkin
d86c6002d7 minor cleanup 2015-07-06 13:55:59 +02:00
Yohan Boniface
50d7121f72 Make _fireDOMEvent accept optional targets
In the case of canvas path, we can't add the canvas element itself
as an interactiveTarget, given that it's big like the path bbox, and
thus would make all this bbox target of events (so also clicking
outside of the path itself, the layer would fire click event, for
example)
2015-07-06 13:55:59 +02:00
Yohan Boniface
68195aa2bd More natural event bubbling 2015-07-06 13:55:59 +02:00
Yohan Boniface
54c8925818 Add map as layer event parent 2015-07-06 13:55:59 +02:00
Iván Sánchez Ortega
d1864cd138 Move 'preclick' event handling around so it propagates before 'click'. 2015-07-06 13:55:59 +02:00
Yohan Boniface
0d3448d494 Always fire DOM event on the map too 2015-07-06 13:55:59 +02:00
Patrick Arlt
caf692d2a8 Allow for access to imageData on L.ImageOverlay
This implements the changes in https://github.com/Leaflet/Leaflet/pull/2621 for cross origin tiles for `L.ImageOverlay` so that the image data can be accessed in canvas and saved.
2015-07-02 14:00:08 -07:00
Will Franklin
320c46c6d5 Only mouse over one feature at a time 2015-07-02 16:15:43 +01:00
Patrick Arlt
6bf0f98796 fix popup offseting 2015-07-02 00:44:31 +03:00
Steve Kashishian
3687ed81e6 Fix setting of offset for popups.
Fixes #3525
2015-07-02 00:44:30 +03:00
petr
18933e1764 accept geojson with null geometry 2015-07-01 13:28:10 -07:00
Vladimir Agafonkin
ae90893e1e Merge pull request #3582 from wpf500/wpf-mouse-event-order
Fix ordering of mouse events in Canvas renderer
2015-07-01 14:32:37 +03:00
Will Franklin
2bc78b26ca Fix ordering of mouse events in Canvas renderer 2015-07-01 12:31:00 +01:00
Vladimir Agafonkin
cca6e6165f Merge pull request #3580 from wpf500/wpf-bounds-check
Check bounds before clipping
2015-07-01 13:39:38 +03:00
Will Franklin
4952b37256 Check bounds before clipping 2015-07-01 11:24:05 +01:00
Iván Sánchez Ortega
56be19a42d Fix nomenclature of point scale/unscale methods, see #3570 2015-06-30 15:13:08 +02:00
Vladimir Agafonkin
c38159d986 Merge pull request #3571 from rowanwins/layerControlScroll
Scrollbar for layers control with too many layers
2015-06-30 15:25:06 +03:00
Rowan Winsemius
9bfb6d854e Updated approach for resolving scrollbar issue in legend 2015-06-30 21:59:20 +10:00
Iván Sánchez Ortega
cf5111306f Implement non-square tiles for L.GridLayer, see #3570 2015-06-30 13:54:56 +02:00
Vladimir Agafonkin
7e45690169 Merge pull request #3564 from rowanwins/layerControlFix
Fix for issue #2771
2015-06-30 13:19:03 +03:00
Rowan Winsemius
43da2c32a3 Add scroll handling for when the legend extends past the map height 2015-06-29 20:21:03 +10:00
Rowan Winsemius
3d7d62d7b7 Fix for this issue https://github.com/Leaflet/Leaflet/issues/2771 2015-06-27 16:30:33 +10:00
Vladimir Agafonkin
7798782480 Merge pull request #3557 from TolonUK/getTiledPixelBounds
Move some logic from GridLayer._update to _getTilePixelBounds
2015-06-24 19:38:15 +03:00
tolon
1f8d2a8072 New GridLayer._getTilePixelBounds function to contain the logic that used to be in _update 2015-06-20 10:54:50 +01:00
Alex Fedosov
93f4ba7f8e fix non-interactive vml layers 2015-06-19 12:32:17 +06:00
Iván Sánchez Ortega
c3288ab765 Synthetic doubletap events respect stopPropagation, fixes #3532 2015-06-11 11:35:09 +02:00
Alex Fedosov
644bb7157a add map presence check to onMoveEnd handler, fixes #3522 2015-06-10 11:48:16 +06:00
Alex Fedosov
b31a1e8be6 fix GridLayer move event handler, fixes #3522 2015-06-09 21:22:40 +06:00
Iván Sánchez Ortega
5245b94aad Reworked pixelBounds calculation in GridTile to deal with fractional zoom 2015-06-09 09:44:52 +02:00
Vladimir Agafonkin
f61e2f4a7b Merge pull request #3278 from Leaflet/events-refactor
Refactor move/zoom events
2015-06-05 21:02:51 +03:00
Vladimir Agafonkin
30b9b9cfd6 fix whitespace 2015-06-05 20:51:25 +03:00
Vladimir Agafonkin
a5bd03d0e4 add back viewreset
now it has different semantics though — it’s fired when a view is fully
reset, so that all layer DOM elements should be repositioned.
2015-06-05 20:51:21 +03:00
Vladimir Agafonkin
fd708bf173 don't project vectors on every zoom event 2015-06-05 20:51:20 +03:00
Vladimir Agafonkin
625161f15d make vectors work with flyTo 2015-06-05 20:51:20 +03:00
Vladimir Agafonkin
1e9c8649b3 simplify zoom transform math
changes the transform origin for all layers from 50% 50% (implied
default) to 0 0, making it MUCH easier to understand zoom transform
math.
2015-06-05 20:51:20 +03:00
Vladimir Agafonkin
2cf8cc008a simplify renderer animation math 2015-06-05 20:51:20 +03:00
Vladimir Agafonkin
d9e20a250d ditch zoomanim event scale/origin/offset props 2015-06-05 20:51:20 +03:00
Iván Sánchez Ortega
7032bbc13d Graceful degradations of zoom-pan animations on top of refactored zoom-pan events. 2015-06-05 20:51:20 +03:00
Vladimir Agafonkin
06f90b1a5b simplify and unify TouchZoom logic 2015-06-05 20:51:19 +03:00
Vladimir Agafonkin
120d8523c5 Merge pull request #3514 from Leaflet/detached-memory-leak
Cleaning up map layers when map.remove() is run
2015-06-05 01:17:40 +03:00
Vladimir Agafonkin
d13aaac837 refactor _resetView; rely on zoom event in layers 2015-06-04 20:42:30 +03:00
Vladimir Agafonkin
fdd60cc66b ditch viewreset event, reliable zoomend
removes viewreset use everywhere; also changes event order to have
zoomend before move and moveend to make zoomend a reliable viewreset
successor
2015-06-04 20:42:28 +03:00
Vladimir Agafonkin
3ccbe5bca0 trigger tile compositing in Safari
This kind of reverts #2377 that doesn’t make sense after tile animation
refactorings, because it makes Safari terribly slow. It reintroduces
the tile gaps, but oh well, we choose the lesser evil here.

Also, performance in latest iOS is the same with and without the patch
so there’s no harm in removing this.
2015-06-04 19:15:19 +03:00
Iván Sánchez Ortega
81b038926c Cleaning up map layers when map.remove() is run 2015-06-04 16:30:38 +02:00
Iván Sánchez Ortega
3a9da3bd7c Fixes #3431, GridLayer.setOpacity() behaviour on active tiles. 2015-06-04 15:02:28 +02:00
Vladimir Agafonkin
7bc37fe09a Merge pull request #3508 from Leaflet/gridlayer-bounds
Implement 'overlaps' spatial operator on bounds and use it on gridlayers
2015-06-04 15:23:54 +03:00
Iván Sánchez Ortega
8a352fbbbf Add an option to make the map's maxBounds non-bouncy. Fixes #1673. 2015-06-02 17:24:22 +02:00
Vladimir Agafonkin
bd1b88c1dd Merge pull request #3509 from Leaflet/prune-tiles-out-of-zoom
Gridlayer prunes all tiles when zooming out of minzoom/maxzoom.
2015-06-02 13:30:21 +02:00
Iván Sánchez Ortega
3b183f01bb Gridlayer prunes all tiles when zooming out of minzoom/maxzoom. 2015-06-02 12:58:38 +02:00
Iván Sánchez Ortega
c0384bbe21 Implement 'overlaps' spatial operator on bounds and use it on gridlayers 2015-06-02 12:35:31 +02:00
Taro Matsuzawa
4399b8f935 restore minZoom and maxZoom check on _update 2015-06-02 13:01:50 +09:00
vingiarrusso
376820ff63 use existing method on popup 2015-05-27 16:59:54 -07:00
vingiarrusso
fd1b295b95 add isPopupOpen method to layer 2015-05-27 16:34:06 -07:00
Alex Fedosov
9313733d3f make panInsideBounds accept array 2015-05-25 17:45:53 +06:00
Iván Sánchez Ortega
db8a790ae3 Persist marker dragging when removing/readding it. 2015-05-22 10:19:39 +02:00
Vladimir Agafonkin
8ffbb707c6 add layer getElement methods 2015-05-21 19:57:12 +03:00
Rik Vanmechelen
c4b6e79fa4 fix inertia when only moving on one axis, close #3432 2015-05-20 22:35:57 +03:00
Iván Sánchez Ortega
555c80f20e Wrap all SVG paths inside a <g> 2015-05-12 10:38:12 +02:00
Iván Sánchez Ortega
9274ee2b5f Graceful degradation of zoom-pan animations, fixes #3272. 2015-05-11 16:54:46 +02:00
Yohan Boniface
298a27fbe4 Add Polyline/Polygon.isEmpty method 2015-05-09 23:03:22 +02:00
Yohan Boniface
426f331874 Fix polygon.addTo(map) failing when latlngs was empty.
Since #3279 an empty polygon as a nested array [[]] as latlngs,
so _latlngs.length returns true.
2015-05-09 22:04:46 +02:00
Vladimir Agafonkin
b170695fe5 bump version to clear up confusion 2015-05-08 17:55:19 +03:00
Iván Sánchez Ortega
b849568ca0 Merge pull request #3233 from juliensoret/grabbingCursor
Fix cursor when dragging is set to false.
2015-05-08 16:32:24 +02:00
Vladimir Agafonkin
7603010f8b Merge pull request #3279 from Leaflet/nested-polygons
Ensure polygons latlngs are never flat (cf #2618)
2015-05-08 16:01:56 +03:00
Yohan Boniface
6aca7ef3c2 Add back L.Polyline.addLatLng 2015-05-08 14:53:21 +02:00
i.taratuhin
57d7dff81f fix vector in ie8 2015-05-08 18:03:24 +06:00
Yohan Boniface
2408cf2bb6 _flat is now a static method 2015-05-08 13:11:58 +02:00
Yohan Boniface
8b97b905e8 Merge branch 'master' into nested-polygons 2015-05-08 13:10:49 +02:00
Yohan Boniface
d53d958e81 Simpler approach for static method 2015-05-08 12:01:22 +02:00
Yohan Boniface
19d6008dfc Make L.Polyline._flat a static method 2015-05-08 11:52:00 +02:00
Vladimir Agafonkin
6c0557c868 Merge pull request #3386 from Leaflet/polyline-flat
Fix L.Polyline._flat returning true for a nested empty array
2015-05-07 11:08:37 +03:00
Vladimir Agafonkin
bb68b7342f Merge pull request #3390 from Leaflet/latlng-clone
Add LatLng.clone
2015-05-07 11:07:21 +03:00
Iván Sánchez Ortega
8f3a353d84 LatLng.wrap shall not drop altitude, closes #3420 2015-04-30 16:38:48 +02:00
Iván Sánchez Ortega
ea680ce21a Detect Firefox for Android as L.Browser.mobile 2015-04-30 13:20:19 +02:00
Vladimir Agafonkin
24ce6b3e8e Merge pull request #3410 from IvanSanchez/multiple-maxbounds
Prevent recursion on map.setMaxBounds
2015-04-29 13:52:25 +03:00
Iván Sánchez Ortega
286f192ca9 Prevent recursion on map.setMaxBounds 2015-04-29 11:07:45 +02:00
Iván Sánchez Ortega
71f93c44ef Fix leaflet/Leaflet#3404 2015-04-27 09:42:54 +02:00
Iván Sánchez Ortega
c3575be344 Implement options in L.Map.flyTo() 2015-04-23 09:18:59 +02:00
Iván Sánchez Ortega
4d70fe09a7 Implement L.Map.flyToBounds(), #3391 2015-04-22 01:27:25 +02:00
Yohan Boniface
8938754bd5 Merge branch 'master' into nested-polygons
Conflicts:
	spec/suites/layer/vector/PolygonSpec.js
2015-04-21 15:57:24 +02:00
Yohan Boniface
097128cfa7 Add LatLng.clone 2015-04-21 15:52:44 +02:00
Yohan Boniface
003e94ae11 Fix L.Polyline._flat returning true for a nested empty array 2015-04-18 17:41:36 +02:00
Nathan Cahill
91fe187ee7 add return statements to allow chaining 2015-04-17 00:49:49 -05:00
Nathan Cahill
794e64df41 add map.setMinZoom() and map.setMaxZoom() closes #3380 2015-04-16 18:39:40 -05:00
Yohan Boniface
3336bcbbe9 Fix Polygon.getCenter returning invalid LatLng when all points in same pixel 2015-04-12 18:43:04 +02:00
Yohan Boniface
a82c80ecd9 Fix Polyline.getCenter returning undefined with very small line 2015-04-12 11:25:46 +02:00
Yohan Boniface
7523aaafa0 Never try to run _updateOpacity if this._map is undefined 2015-04-11 15:09:33 +02:00
Yohan Boniface
37b87b4b21 Loop through parents when event src element is not in targets
For example, when using a DivIcon, we often add DOM elements in it,
which can then be the actual target of DOM events.
2015-04-10 07:59:59 +02:00
Vladimir Agafonkin
78d8a4d9f3 fix zoom out on azerty keyboard, close #3362 2015-04-09 21:53:12 +03:00
Stéphan Kochen
03c888c20f Add isLoading to GridLayer 2015-04-08 10:23:50 +02:00
Mstislav Zhivodkov
b6b4c07375 add opera12 to any3d 2015-04-07 10:43:12 +06:00
Mstislav Zhivodkov
4b757fe2cd change translate3d detection 2015-04-06 18:05:11 +06:00
Vladimir Agafonkin
cac1494f64 Merge pull request #2574 from tohaocean/patch-1
Opera does not support translate3d property
2015-04-06 13:21:40 +03:00
Alex Fedosov
56733af488 fix tile freeze in ie8 2015-04-01 16:42:46 +06:00
Iván Sánchez Ortega
558f8c3a06 Fix #3333 by catching the onScroll event on the map container 2015-03-30 16:31:18 +02:00
Vladimir Agafonkin
205575c932 Merge pull request #3303 from Trufi/panby-return
Map panBy always return map object
2015-03-18 18:52:23 +02:00
Vladimir Agafonkin
21a748123f Revert "e.button === 0 is the left mouse button."
This reverts commit 0d1716d796.
2015-03-18 13:09:04 +02:00
Patrick Arlt
6917733750 restore toggling marker popups, pass ESLint 2015-03-14 12:13:44 -07:00
Patrick Arlt
6ed939422c Merge branch 'group-popup' of github.com:Leaflet/Leaflet into popup-debugging 2015-03-14 10:23:50 -07:00
Patrick Arlt
52be81b18b Merge branch 'master' of github.com:Leaflet/Leaflet into popup-debugging 2015-03-14 10:22:25 -07:00
Mstislav Zhivodkov
b93d42880e map panBy always return map 2015-03-12 12:10:53 +06:00
Vladimir Agafonkin
7db3473727 fix typo, thanks @uniphil 2015-03-10 20:38:13 -07:00
Vladimir Agafonkin
a92c8a3c21 Merge pull request #3287 from Szunti/mousebutton
e.button === 0 is the left mouse button.
2015-03-08 00:15:12 +02:00
Yohan Boniface
250f03339b Fix popupAnchor not taken into account when passing L.Popup to bindPopup 2015-03-07 19:00:27 +01:00
Szunti
0d1716d796 e.button === 0 is the left mouse button. 2015-03-06 20:25:04 +01:00
Yohan Boniface
0d0269ac15 Remove Polyline.addLatLng and Polyline.spliceLatLngs
Those method are not consistent (or too complexe) among
the supported Polygon/Polyline (cf #3279)
2015-03-06 09:05:50 +01:00
Vladimir Agafonkin
bba39b3eba Merge pull request #3275 from Jakobud/bug/keyboard-event-prevent-map-refocus
Prevent map refocus if control click event is from the keyboard
2015-03-05 18:48:15 +02:00
Jake Wilson
aae1df5d49 Fixed typo in comment 2015-03-04 19:00:52 -07:00
Jake Wilson
39425924ac Added truthy check to the event. 2015-03-04 18:58:51 -07:00
Yohan Boniface
602cff077f Ensure polygons latlngs are never flat (cf #2648) 2015-03-04 18:14:51 +01:00
Vladimir Agafonkin
455fbb087b fix maxNativeZoom regression, close #3096 2015-03-04 11:46:03 +02:00
Jake Wilson
8842385c37 Prevent map refocus if control click event is from the keyboard, which is determined/assumed by the click X,Y being at 0,0. 2015-03-03 22:17:24 -07:00
Vladimir Agafonkin
4dc3a18217 Merge pull request #3270 from Leaflet/fix-freeze
Fix zoom animation freeze race condition
2015-03-03 15:07:44 +02:00
Vladimir Agafonkin
142e0661b1 fix touch zoom regression 2015-03-03 15:04:03 +02:00
Vladimir Agafonkin
f27ead251a Merge pull request #3264 from yohanboniface/drag-original-event
Forward original event on drag
2015-03-02 21:38:51 +02:00
Vladimir Agafonkin
35860a0213 fix marker event data 2015-03-02 19:15:52 +02:00
John Firebaugh
a865d2b649 CSS-based outline prevention 2015-03-02 19:03:39 +02:00
Vladimir Agafonkin
63753d8564 prevent focus outline when dragging objects 2015-03-02 19:03:38 +02:00
Vladimir Agafonkin
0a68b25ce5 fix Canvas vector events 2015-03-02 19:03:38 +02:00
Vladimir Agafonkin
43c3f01a1a cleaner DOM event handling in Map 2015-03-02 19:03:38 +02:00
Vladimir Agafonkin
34bc7fa4ea switch markers to event delegation API 2015-03-02 19:03:38 +02:00
Vladimir Agafonkin
22c97d1b33 use new event delegation API in ImageOverlay 2015-03-02 19:03:38 +02:00
Vladimir Agafonkin
8e7bbff6d8 switch SVG paths to new delegation API 2015-03-02 19:03:38 +02:00
Vladimir Agafonkin
b149f2d754 Layer add/removeInteractiveTarget methods
registers DOM elements for event delegation
2015-03-02 19:03:37 +02:00
Vladimir Agafonkin
bbc3f2fab1 fix zoom anim freeze race condition, close #2693, close #2478 2015-03-02 15:26:05 +02:00
Vladimir Agafonkin
4c8ffadf30 don't animate negligible touch movements, close #2519 2015-03-02 14:48:09 +02:00
Vladimir Agafonkin
bb230d0ac2 fix race condition in tests 2015-03-02 13:35:02 +02:00
Vladimir Agafonkin
954ef1cc10 add indent eslint rule and fix some whitespace 2015-03-01 12:01:28 +02:00
Jake Wilson
d0b5aada79 Code consistency changes 2015-02-28 21:26:20 -07:00
Jake Wilson
8c30707e56 Fixed some code style issues. 2015-02-28 21:21:45 -07:00
Jake Wilson
721cf6a689 Added ability to specify pane for vector layer creation, which will automatically create a renderer for that pane if one does not already exists. 2015-02-28 20:48:14 -07:00
Yohan Boniface
1e4b82b990 Cleaner syntax for event forwarding 2015-02-27 17:57:46 +01:00
Yohan Boniface
66654b94eb Forward original event on drag 2015-02-27 17:27:19 +01:00
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
Julien SORET
03fb73ed22 Fix cursor when dragging is set to false. 2015-02-15 21:18:44 +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
Vladimir Agafonkin
7650eaef52 simplify group popup changes, cleanup 2015-01-12 18:56:17 +02:00
Patrick Arlt
ff8023a460 fix passing latlng to openPopup, fix build 2015-01-07 09:50:06 -08:00
Patrick Arlt
428095cf51 allow popups with functions to return strings or dom nodes 2015-01-06 10:49:26 -08:00
Patrick Arlt
ed4b4e70c0 cleanup logic 2015-01-06 10:34:19 -08:00
Patrick Arlt
ef0ee1483d consistant failing test 2015-01-02 07:39:00 -08:00
Patrick Arlt
8285e9dfb5 whitespace 2015-01-02 07:35:58 -08:00
Patrick Arlt
775a8e0c3a refactor everything to Layer.Popup 2015-01-02 07:34:16 -08:00
Patrick Arlt
95596c78a0 fix whitespace 2015-01-02 06:47:07 -08:00
Patrick Arlt
2d709141a8 fix tests, misc cleanup 2014-12-29 13:50:23 -08:00
Patrick Arlt
940452ace0 fix lint 2014-12-29 13:22:58 -08:00
Patrick Arlt
1c3b1889ec debug for regular layers 2014-12-29 12:58:23 -08:00
Patrick Arlt
ff470d5861 popup improvements for FeatureGroup 2014-12-29 12:14:41 -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