7
7
var oldL = window . L ,
8
8
L = { } ;
9
9
10
- L . version = '0.7.2 ' ;
10
+ L . version = '0.7.3 ' ;
11
11
12
12
// define Leaflet for Node module pattern loaders, including Browserify
13
13
if ( typeof module === 'object' && typeof module . exports === 'object' ) {
@@ -2104,13 +2104,13 @@ L.Map = L.Class.extend({
2104
2104
var loading = ! this . _loaded ;
2105
2105
this . _loaded = true ;
2106
2106
2107
+ this . fire ( 'viewreset' , { hard : ! preserveMapOffset } ) ;
2108
+
2107
2109
if ( loading ) {
2108
2110
this . fire ( 'load' ) ;
2109
2111
this . eachLayer ( this . _layerAdd , this ) ;
2110
2112
}
2111
2113
2112
- this . fire ( 'viewreset' , { hard : ! preserveMapOffset } ) ;
2113
-
2114
2114
this . fire ( 'move' ) ;
2115
2115
2116
2116
if ( zoomChanged || afterZoomAnim ) {
@@ -5083,7 +5083,8 @@ L.Path = (L.Path.SVG && !window.L_PREFER_CANVAS) || !L.Browser.canvas ? L.Path :
5083
5083
}
5084
5084
5085
5085
this . _requestUpdate ( ) ;
5086
-
5086
+
5087
+ this . fire ( 'remove' ) ;
5087
5088
this . _map = null ;
5088
5089
} ,
5089
5090
@@ -6605,12 +6606,12 @@ L.DomEvent = {
6605
6606
var timeStamp = ( e . timeStamp || e . originalEvent . timeStamp ) ,
6606
6607
elapsed = L . DomEvent . _lastClick && ( timeStamp - L . DomEvent . _lastClick ) ;
6607
6608
6608
- // are they closer together than 1000ms yet more than 100ms?
6609
+ // are they closer together than 500ms yet more than 100ms?
6609
6610
// Android typically triggers them ~300ms apart while multiple listeners
6610
6611
// on the same event should be triggered far faster;
6611
6612
// or check if click is simulated on the element, and if it is, reject any non-simulated events
6612
6613
6613
- if ( ( elapsed && elapsed > 100 && elapsed < 1000 ) || ( e . target . _simulatedClick && ! e . _simulated ) ) {
6614
+ if ( ( elapsed && elapsed > 100 && elapsed < 500 ) || ( e . target . _simulatedClick && ! e . _simulated ) ) {
6614
6615
L . DomEvent . stop ( e ) ;
6615
6616
return ;
6616
6617
}
@@ -6708,6 +6709,7 @@ L.Draggable = L.Class.extend({
6708
6709
offset = newPoint . subtract ( this . _startPoint ) ;
6709
6710
6710
6711
if ( ! offset . x && ! offset . y ) { return ; }
6712
+ if ( L . Browser . touch && Math . abs ( offset . x ) + Math . abs ( offset . y ) < 3 ) { return ; }
6711
6713
6712
6714
L . DomEvent . preventDefault ( e ) ;
6713
6715
@@ -6718,7 +6720,8 @@ L.Draggable = L.Class.extend({
6718
6720
this . _startPos = L . DomUtil . getPosition ( this . _element ) . subtract ( offset ) ;
6719
6721
6720
6722
L . DomUtil . addClass ( document . body , 'leaflet-dragging' ) ;
6721
- L . DomUtil . addClass ( ( e . target || e . srcElement ) , 'leaflet-drag-target' ) ;
6723
+ this . _lastTarget = e . target || e . srcElement ;
6724
+ L . DomUtil . addClass ( this . _lastTarget , 'leaflet-drag-target' ) ;
6722
6725
}
6723
6726
6724
6727
this . _newPos = this . _startPos . add ( offset ) ;
@@ -6734,9 +6737,13 @@ L.Draggable = L.Class.extend({
6734
6737
this . fire ( 'drag' ) ;
6735
6738
} ,
6736
6739
6737
- _onUp : function ( e ) {
6740
+ _onUp : function ( ) {
6738
6741
L . DomUtil . removeClass ( document . body , 'leaflet-dragging' ) ;
6739
- L . DomUtil . removeClass ( ( e . target || e . srcElement ) , 'leaflet-drag-target' ) ;
6742
+
6743
+ if ( this . _lastTarget ) {
6744
+ L . DomUtil . removeClass ( this . _lastTarget , 'leaflet-drag-target' ) ;
6745
+ this . _lastTarget = null ;
6746
+ }
6740
6747
6741
6748
for ( var i in L . Draggable . MOVE ) {
6742
6749
L . DomEvent
@@ -7391,7 +7398,7 @@ L.Map.TouchZoom = L.Handler.extend({
7391
7398
center = map . layerPointToLatLng ( origin ) ,
7392
7399
zoom = map . getScaleZoom ( this . _scale ) ;
7393
7400
7394
- map . _animateZoom ( center , zoom , this . _startCenter , this . _scale , this . _delta ) ;
7401
+ map . _animateZoom ( center , zoom , this . _startCenter , this . _scale , this . _delta , false , true ) ;
7395
7402
} ,
7396
7403
7397
7404
_onTouchEnd : function ( ) {
@@ -8376,8 +8383,8 @@ L.Control.Layers = L.Control.extend({
8376
8383
8377
8384
onRemove : function ( map ) {
8378
8385
map
8379
- . off ( 'layeradd' , this . _onLayerChange )
8380
- . off ( 'layerremove' , this . _onLayerChange ) ;
8386
+ . off ( 'layeradd' , this . _onLayerChange , this )
8387
+ . off ( 'layerremove' , this . _onLayerChange , this ) ;
8381
8388
} ,
8382
8389
8383
8390
addBaseLayer : function ( layer , name ) {
@@ -8918,9 +8925,11 @@ L.Map.include(!L.DomUtil.TRANSITION ? {} : {
8918
8925
return true ;
8919
8926
} ,
8920
8927
8921
- _animateZoom : function ( center , zoom , origin , scale , delta , backwards ) {
8928
+ _animateZoom : function ( center , zoom , origin , scale , delta , backwards , forTouchZoom ) {
8922
8929
8923
- this . _animatingZoom = true ;
8930
+ if ( ! forTouchZoom ) {
8931
+ this . _animatingZoom = true ;
8932
+ }
8924
8933
8925
8934
// put transform transition on all layers with leaflet-zoom-animated class
8926
8935
L . DomUtil . addClass ( this . _mapPane , 'leaflet-zoom-anim' ) ;
@@ -8934,14 +8943,16 @@ L.Map.include(!L.DomUtil.TRANSITION ? {} : {
8934
8943
L . Draggable . _disabled = true ;
8935
8944
}
8936
8945
8937
- this . fire ( 'zoomanim' , {
8938
- center : center ,
8939
- zoom : zoom ,
8940
- origin : origin ,
8941
- scale : scale ,
8942
- delta : delta ,
8943
- backwards : backwards
8944
- } ) ;
8946
+ L . Util . requestAnimFrame ( function ( ) {
8947
+ this . fire ( 'zoomanim' , {
8948
+ center : center ,
8949
+ zoom : zoom ,
8950
+ origin : origin ,
8951
+ scale : scale ,
8952
+ delta : delta ,
8953
+ backwards : backwards
8954
+ } ) ;
8955
+ } , this ) ;
8945
8956
} ,
8946
8957
8947
8958
_onZoomTransitionEnd : function ( ) {
0 commit comments