moveend never triggered for base layers, p=tschaub,me r=tschaub (closes #1831)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@8416 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -74,12 +74,14 @@ OpenLayers.Layer = OpenLayers.Class({
|
|||||||
* - *loadend* Triggered when layer loading ends.
|
* - *loadend* Triggered when layer loading ends.
|
||||||
* - *loadcancel* Triggered when layer loading is canceled.
|
* - *loadcancel* Triggered when layer loading is canceled.
|
||||||
* - *visibilitychanged* Triggered when layer visibility is changed.
|
* - *visibilitychanged* Triggered when layer visibility is changed.
|
||||||
* - *moveend* Triggered when layer is moved, object passed as
|
* - *move* Triggered when layer moves (triggered with every mousemove
|
||||||
|
* during a drag).
|
||||||
|
* - *moveend* Triggered when layer is done moving, object passed as
|
||||||
* argument has a zoomChanged boolean property which tells that the
|
* argument has a zoomChanged boolean property which tells that the
|
||||||
* zoom has changed.
|
* zoom has changed.
|
||||||
*/
|
*/
|
||||||
EVENT_TYPES: ["loadstart", "loadend", "loadcancel", "visibilitychanged",
|
EVENT_TYPES: ["loadstart", "loadend", "loadcancel", "visibilitychanged",
|
||||||
"moveend"],
|
"move", "moveend"],
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* APIProperty: events
|
* APIProperty: events
|
||||||
|
|||||||
+14
-3
@@ -1562,6 +1562,13 @@ OpenLayers.Map = OpenLayers.Class({
|
|||||||
|
|
||||||
//send the move call to the baselayer and all the overlays
|
//send the move call to the baselayer and all the overlays
|
||||||
this.baseLayer.moveTo(bounds, zoomChanged, dragging);
|
this.baseLayer.moveTo(bounds, zoomChanged, dragging);
|
||||||
|
if(dragging) {
|
||||||
|
this.baseLayer.events.triggerEvent("move");
|
||||||
|
} else {
|
||||||
|
this.baseLayer.events.triggerEvent("moveend",
|
||||||
|
{"zoomChanged": zoomChanged}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
bounds = this.baseLayer.getExtent();
|
bounds = this.baseLayer.getExtent();
|
||||||
|
|
||||||
@@ -1584,9 +1591,13 @@ OpenLayers.Map = OpenLayers.Class({
|
|||||||
}
|
}
|
||||||
if (inRange && layer.visibility) {
|
if (inRange && layer.visibility) {
|
||||||
layer.moveTo(bounds, zoomChanged, dragging);
|
layer.moveTo(bounds, zoomChanged, dragging);
|
||||||
layer.events.triggerEvent("moveend",
|
if(dragging) {
|
||||||
{"zoomChanged": zoomChanged}
|
layer.events.triggerEvent("move");
|
||||||
);
|
} else {
|
||||||
|
layer.events.triggerEvent("moveend",
|
||||||
|
{"zoomChanged": zoomChanged}
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-2
@@ -746,16 +746,24 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function test_Map_moveTo(t) {
|
function test_Map_moveTo(t) {
|
||||||
t.plan(1);
|
t.plan(2);
|
||||||
|
|
||||||
map = new OpenLayers.Map('map');
|
map = new OpenLayers.Map('map');
|
||||||
var baseLayer = new OpenLayers.Layer.WMS("Test Layer",
|
var baseLayer = new OpenLayers.Layer.WMS("Test Layer",
|
||||||
"http://octo.metacarta.com/cgi-bin/mapserv?",
|
"http://octo.metacarta.com/cgi-bin/mapserv?",
|
||||||
{map: "/mapdata/vmap_wms.map", layers: "basic"},
|
{map: "/mapdata/vmap_wms.map", layers: "basic"},
|
||||||
{maxResolution: 'auto', maxExtent: new OpenLayers.Bounds(-10,-10,10,10)});
|
{maxResolution: 'auto', maxExtent: new OpenLayers.Bounds(-10,-10,10,10)});
|
||||||
|
baseLayer.events.on({
|
||||||
|
move: function() {
|
||||||
|
t.ok(true, "move listener called");
|
||||||
|
},
|
||||||
|
moveend: function(e) {
|
||||||
|
t.eq(e.zoomChanged, true, "moveend listener called with expected value");
|
||||||
|
}
|
||||||
|
});
|
||||||
map.addLayer(baseLayer);
|
map.addLayer(baseLayer);
|
||||||
var ll = new OpenLayers.LonLat(-100,-150);
|
var ll = new OpenLayers.LonLat(-100,-150);
|
||||||
map.moveTo(ll, 0);
|
map.moveTo(ll, 2);
|
||||||
t.ok(map.getCenter().equals(new OpenLayers.LonLat(0,0)), "safely sets out-of-bounds lonlat");
|
t.ok(map.getCenter().equals(new OpenLayers.LonLat(0,0)), "safely sets out-of-bounds lonlat");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user