J'ai un VectorLayer avec quelques points générés par l'utilisateur, configuré de cette façon :

var sourcePoint = new VectorSource();
var vectorPoint = new VectorLayer({
    source: sourcePoint,
    style: new Style({
        fill: new Fill({
            color: 'rgba(0, 0, 0, 0.2)'
        }),
        image: new CircleStyle({
            radius: 7,
            fill: new Fill({
                color: '#32ff32'
            }) 
        })
    }),
    zIndex: 99,
    name: "vectorPoint",
    visible: false
});

Lorsque la page de la carte s'ouvre, elle charge les données utilisateur et se remplit dans sourcePoint. Le problème est que ce vectorLayer doit démarrer avec une visibilité définie sur false, mais même avec le visible: false, il démarre activé.

J'ai également essayé de basculer la visibilité de cette couche avec le setVisible(), qui ne fonctionne pas non plus avec cette couche. Ce qui est étrange, c'est que les autres VectorLayers fonctionnent bien comme on le suppose, à commencer par la visibilité désactivée et le basculement.

Y a-t-il une raison pour laquelle cela pourrait se produire? Je ne trouve personne avec un problème similaire.


Mise à jour 17/02/2020

Comment j'ajoute la couche à la carte :

this.map = new Map({
    layers: [tileBackground, vectorPoint],
    target: document.getElementById('map'),
    view: view
});

La fonction de base des calques à bascule que j'utilise

randomFunction(status, layerName) { // Firing as randomFunction(true, 'vectorPoint')
    this.map.getLayers().forEach((layer) => {
        if (layer.get('name') == layerName && layer.get('name') != undefined) {
            if (status == true) {
                layer.setVisible(true);
            } else {
                layer.setVisible(false);
            }
        }
    });
}

Je peux voir que la couche est fondée après if (layer.get('name') == layerName...


0
leonardofmed 14 févr. 2020 à 22:19

1 réponse

Meilleure réponse

Bon, j'arrive à trouver le problème. L'erreur dans ce cas est que j'avais une autre couche vectorielle pour les points créés avec le GPS de l'appareil. Lorsque les points sont chargés, ils ont rempli les deux calques. Ainsi, lorsque j'ai essayé de désactiver les calques de points principaux, l'autre était toujours actif, me faisant croire que l'erreur était liée à la méthode que j'utilisais. Je suis désolé pour le problème.

0
leonardofmed 17 févr. 2020 à 14:11