GUIDE4YOU - 如何添加图层和制作在图层菜单中可见

时间:2017-05-10 12:58:11

标签: javascript openlayers-3 guide4you

我需要动态添加一个额外的图层。该层也需要在层菜单上可见。我该如何处理?

更确切地说,我有一个例子:

问题#1:图层未显示在地图上。我错了什么?没有javascript错误。

问题#2:如何在图层菜单上添加图层?

config/filesystem.php

提前致谢!

亲切的问候,

萨姆

1 个答案:

答案 0 :(得分:0)

根据创建图层的不同方法,您有两种方法可以实现这一目标。

首先:如果你想使用api函数,你可以传递与layerConfig.json文件中的对象相同的layerConfigObjects。 (这里描述了它们:https://github.com/KlausBenndorf/guide4you/blob/31e118c8f4bc5490dec92d4a03bc53fff08258fd/src/configurators/LayerFactory.js#L37)。

可用的api函数是addBaseLayer(相互去激活的底层映射,出现在layerselector中),addFeatureLayer(底层顶层的层,可以组合,出现在layerselector中)和{ {1}}(与FeatureLayers一样,但始终可见,并且它们不会出现在layerselector中)。 (顺便说一句,addLayer不是一个api函数,应该抛出一个javascript错误)(你可以查看https://github.com/KlausBenndorf/guide4you/blob/master/src/API.js中的所有api方法)

这些功能对应于直接在layerConfig中添加相同的对象。

另一种方法是将图层创建为openlayers图层(就像您在示例中所做的那样)并将其直接添加到它应该出现的图层组中。图层组可以通过addFixedFeatureLayer访问,{ {1}},map.get('baseLayers')。这些方法有map.get('featureLayers')方法,你可以使用它们。

无论哪种方式让图层选择器中显示图层,您都必须调用map.get('fixedFeatureLayers')来更新UI。