OpenLayers-正在更新Class调用的初始化方法



我想在对类的原始调用之后更新向量层类中的一个变量

OpenLayers.Layer.Observations = OpenLayers.Class(
  OpenLayers.Layer.Vector, {

其中一个选项是初始化方法:

initialize: function(name, displayStyle, options) {

看起来你不能只是重写initialize方法。。。

var lyrObs = new OpenLayers.Layer.Observations("Observations",...
lyrObs.initialize(...)

是否有其他方法可以更新initialize方法变量?

看看源代码!有很多例子。你需要的是这样的东西:

OpenLayers.Layer.Observations = OpenLayers.Class(OpenLayers.Layer.Vector, {
    initialize: function(…) {
        OpenLayers.Layer.Vector.prototype.initialize.apply(this, arguments);
        // Do what you want here
    }
});

你试过这样做吗?

lyrObs.prototype.initialize = function...

此外,您还可以覆盖层的任何属性,如lyrObs.style = ...lyrObs.data = ...

最新更新