protect for in loops with hasOwnProperty
This commit is contained in:
@@ -63,19 +63,21 @@ OpenLayers.StyleMap = OpenLayers.Class({
|
||||
this.styles["delete"] = style;
|
||||
} else if(typeof style == "object") {
|
||||
for(var key in style) {
|
||||
if(style[key] instanceof OpenLayers.Style) {
|
||||
// user passed a hash of style objects
|
||||
this.styles[key] = style[key];
|
||||
} else if(typeof style[key] == "object") {
|
||||
// user passsed a hash of style hashes
|
||||
this.styles[key] = new OpenLayers.Style(style[key]);
|
||||
} else {
|
||||
// user passed a style hash (i.e. symbolizer)
|
||||
this.styles["default"] = new OpenLayers.Style(style);
|
||||
this.styles["select"] = new OpenLayers.Style(style);
|
||||
this.styles["temporary"] = new OpenLayers.Style(style);
|
||||
this.styles["delete"] = new OpenLayers.Style(style);
|
||||
break;
|
||||
if (style.hasOwnProperty(key)) {
|
||||
if(style[key] instanceof OpenLayers.Style) {
|
||||
// user passed a hash of style objects
|
||||
this.styles[key] = style[key];
|
||||
} else if(typeof style[key] == "object") {
|
||||
// user passsed a hash of style hashes
|
||||
this.styles[key] = new OpenLayers.Style(style[key]);
|
||||
} else {
|
||||
// user passed a style hash (i.e. symbolizer)
|
||||
this.styles["default"] = new OpenLayers.Style(style);
|
||||
this.styles["select"] = new OpenLayers.Style(style);
|
||||
this.styles["temporary"] = new OpenLayers.Style(style);
|
||||
this.styles["delete"] = new OpenLayers.Style(style);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -87,7 +89,9 @@ OpenLayers.StyleMap = OpenLayers.Class({
|
||||
*/
|
||||
destroy: function() {
|
||||
for(var key in this.styles) {
|
||||
this.styles[key].destroy();
|
||||
if (this.styles.hasOwnProperty(key)) {
|
||||
this.styles[key].destroy();
|
||||
}
|
||||
}
|
||||
this.styles = null;
|
||||
},
|
||||
@@ -144,15 +148,17 @@ OpenLayers.StyleMap = OpenLayers.Class({
|
||||
addUniqueValueRules: function(renderIntent, property, symbolizers, context) {
|
||||
var rules = [];
|
||||
for (var value in symbolizers) {
|
||||
rules.push(new OpenLayers.Rule({
|
||||
symbolizer: symbolizers[value],
|
||||
context: context,
|
||||
filter: new OpenLayers.Filter.Comparison({
|
||||
type: OpenLayers.Filter.Comparison.EQUAL_TO,
|
||||
property: property,
|
||||
value: value
|
||||
})
|
||||
}));
|
||||
if (symbolizers.hasOwnProperty(value)) {
|
||||
rules.push(new OpenLayers.Rule({
|
||||
symbolizer: symbolizers[value],
|
||||
context: context,
|
||||
filter: new OpenLayers.Filter.Comparison({
|
||||
type: OpenLayers.Filter.Comparison.EQUAL_TO,
|
||||
property: property,
|
||||
value: value
|
||||
})
|
||||
}));
|
||||
}
|
||||
}
|
||||
this.styles[renderIntent].addRules(rules);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user