don't fire changelayer events without a property, and do a more solid changelayer event check before changing the layer zIndex. r=tschaub (closes #3377)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@12121 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -404,7 +404,7 @@ OpenLayers.Handler.Feature = OpenLayers.Class(OpenLayers.Handler, {
|
|||||||
* evt - {Object}
|
* evt - {Object}
|
||||||
*/
|
*/
|
||||||
handleMapEvents: function(evt) {
|
handleMapEvents: function(evt) {
|
||||||
if (!evt.property || evt.property == "order") {
|
if (evt.type == "removelayer" || evt.property == "order") {
|
||||||
this.moveLayerToTop();
|
this.moveLayerToTop();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -214,7 +214,10 @@ OpenLayers.Layer.Bing = OpenLayers.Class(OpenLayers.Layer.XYZ, {
|
|||||||
logo: metadata.brandLogoUri,
|
logo: metadata.brandLogoUri,
|
||||||
copyrights: copyrights
|
copyrights: copyrights
|
||||||
});
|
});
|
||||||
this.map && this.map.events.triggerEvent("changelayer", {layer: this});
|
this.map && this.map.events.triggerEvent("changelayer", {
|
||||||
|
layer: this,
|
||||||
|
property: "attribution"
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -205,7 +205,10 @@ OpenLayers.Layer.GoogleNG = OpenLayers.Class(OpenLayers.Layer.XYZ, {
|
|||||||
mapType: this.type,
|
mapType: this.type,
|
||||||
mapData: mapData
|
mapData: mapData
|
||||||
});
|
});
|
||||||
this.map && this.map.events.triggerEvent("changelayer", {layer: this});
|
this.map && this.map.events.triggerEvent("changelayer", {
|
||||||
|
layer: this,
|
||||||
|
property: "attribution"
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -65,12 +65,12 @@ OpenLayers.Map = OpenLayers.Class({
|
|||||||
* object will include a *layer* property that references the removed
|
* object will include a *layer* property that references the removed
|
||||||
* layer.
|
* layer.
|
||||||
* - *changelayer* triggered after a layer name change, order change,
|
* - *changelayer* triggered after a layer name change, order change,
|
||||||
* opacity change, params change or visibility change
|
* opacity change, params change, visibility change (due to resolution
|
||||||
* (due to resolution thresholds). Listeners will receive an event
|
* thresholds) or attribution change (due to extent change). Listeners
|
||||||
* object with *layer* and *property* properties. The *layer*
|
* will receive an event object with *layer* and *property* properties.
|
||||||
* property will be a reference to the changed layer.
|
* The *layer* property will be a reference to the changed layer. The
|
||||||
* The *property* property will be a key to the
|
* *property* property will be a key to the changed property (name,
|
||||||
* changed property (name, order, opacity, params or visibility).
|
* order, opacity, params, visibility or attribution).
|
||||||
* - *movestart* triggered after the start of a drag, pan, or zoom
|
* - *movestart* triggered after the start of a drag, pan, or zoom
|
||||||
* - *move* triggered after each drag, pan, or zoom
|
* - *move* triggered after each drag, pan, or zoom
|
||||||
* - *moveend* triggered after a drag, pan, or zoom completes
|
* - *moveend* triggered after a drag, pan, or zoom completes
|
||||||
|
|||||||
@@ -645,6 +645,20 @@
|
|||||||
|
|
||||||
map.destroy();
|
map.destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function test_layerorder(t) {
|
||||||
|
t.plan(2);
|
||||||
|
var map = new OpenLayers.Map("map");
|
||||||
|
var base = new OpenLayers.Layer(null, {isBaseLayer: true});
|
||||||
|
var vector = new OpenLayers.Layer.Vector();
|
||||||
|
map.addLayers([base, vector]);
|
||||||
|
map.addControl(new OpenLayers.Control.SelectFeature(vector, {autoActivate: true}));
|
||||||
|
map.zoomToMaxExtent();
|
||||||
|
t.eq(vector.getZIndex(), "725", "vector layer's zIndex correct");
|
||||||
|
map.events.triggerEvent("changelayer");
|
||||||
|
t.eq(vector.getZIndex(), "725", "vector layer's zIndex still correct after changelayer event");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
Reference in New Issue
Block a user