需要在OL3中克隆图层

时间:2017-01-18 00:04:11

标签: javascript clone openlayers-3

如何在OL3中克隆图层?

目前我尝试了这个但是它给了我一个与真实ol.layer的不同方面不同的对象。就像你可以在内部控制台日志中看到的那样,我丢失了图层的实例,保留它对我来说很重要。



JSONObject user = obj.getJSONObject("user1");
String role = user.getString("role");
JSONObject presence = user.getJSONObject("presence");
String status = presence.getString("status");




2 个答案:

答案 0 :(得分:1)

我试图找到一种情况,你需要克隆一个层而我却找不到它。

ol3中的许多其他类都有自己的方法clone来完成它。克隆图层涉及复制源代码,具有特征和许多其他对象。

jQuery.extend适用于DOM元素,它是针对DOM对象see docs制作的,用于复杂对象,它们是自定义类的实例,原型类,就像所有的ol类都被取消一样克隆一个对象比迭代它的属性复制要复杂得多。

因此,如果您需要具有相同特征的其他图层,我建议您创建一个新图层并复制其选项。

或者,如果您可以解释克隆图层所需的情况,也许我们可以有另一种解决方案。

答案 1 :(得分:0)

我不喜欢OL3,但也许您可以尝试使用原始对象作为新对象的原型

  

var copyLayer = Object.create(layer.prototype)