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.
|
||||
* - *loadcancel* Triggered when layer loading is canceled.
|
||||
* - *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
|
||||
* zoom has changed.
|
||||
*/
|
||||
EVENT_TYPES: ["loadstart", "loadend", "loadcancel", "visibilitychanged",
|
||||
"moveend"],
|
||||
"move", "moveend"],
|
||||
|
||||
/**
|
||||
* APIProperty: events
|
||||
|
||||
@@ -1562,6 +1562,13 @@ OpenLayers.Map = OpenLayers.Class({
|
||||
|
||||
//send the move call to the baselayer and all the overlays
|
||||
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();
|
||||
|
||||
@@ -1584,9 +1591,13 @@ OpenLayers.Map = OpenLayers.Class({
|
||||
}
|
||||
if (inRange && layer.visibility) {
|
||||
layer.moveTo(bounds, zoomChanged, dragging);
|
||||
layer.events.triggerEvent("moveend",
|
||||
{"zoomChanged": zoomChanged}
|
||||
);
|
||||
if(dragging) {
|
||||
layer.events.triggerEvent("move");
|
||||
} else {
|
||||
layer.events.triggerEvent("moveend",
|
||||
{"zoomChanged": zoomChanged}
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -746,16 +746,24 @@
|
||||
}
|
||||
|
||||
function test_Map_moveTo(t) {
|
||||
t.plan(1);
|
||||
t.plan(2);
|
||||
|
||||
map = new OpenLayers.Map('map');
|
||||
var baseLayer = new OpenLayers.Layer.WMS("Test Layer",
|
||||
"http://octo.metacarta.com/cgi-bin/mapserv?",
|
||||
{map: "/mapdata/vmap_wms.map", layers: "basic"},
|
||||
{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);
|
||||
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");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user