2016-06-02 2 views
0

J'ai ce problème. Im faire une carte avec openlayers 3. J'ai un layerswitcher avec un groupe de couches de classe de tuile, et cela fonctionne parfaitement jusqu'à ce que j'essaie de remarquer avec un mousover les différentes couches, ainsi l'utilisateur peut savoir qu'il peut cliquer dessus pour obtenir info sur la fonctionnalité Quelque chose comme ça https://openlayersbook.github.io/ch06-styling-vector-layers/example-08.html. Le problème est que j'ai besoin des calques dans la classe ol.layer.Vector, et que j'utilisais ol.layer.Tile, donc j'ai dû mettre à jour le ol3 que j'utilisais v3.7.0 avec la v3.16.0, et si je n'utilise que la classe ol.layer.Vector, mais j'ai besoin des deux, et en utilisant les deux, les calques apparaissent, mais pour un moment ... alors l'arrière-plan le couvre ... comme un problème de chargement. Je pensais que c'était un problème de ccs, mais non, c'est le nouveau js. En résumé, mon problème est que les calques de la classe tile se chevauchent avec les calques de la classe vector, et que la carte ne m'indique qu'un, ou aucun. Si quelqu'un peut m'aider, je serai reconnaissant. Merci!OpenLayers 3 ne peut pas utiliser la classe de calque Tile et Vector

Répondre

0

L'exemple que vous avez lié ci-dessus ne fonctionne qu'avec OpenLayers < v3.7.0, car il utilise ol.FeatureOverlay. Vous devez remplacer cela par ol.layer.Vetcor. Voir le v3.7.0 release notes pour les instructions de mise à niveau. Une fois que vous avez cela, il devrait être facile d'ajouter des couches de tuiles. Assurez-vous juste que vous les ajoutez à la carte avant vous ajoutez un calque vectoriel. Quelque chose comme

var map = new ol.Map({ 
    target: 'map', 
    layers: [ 
     new ol.layer.Tile({ 
     source: new ol.source.OSM() 
     }), 
     countries 
    ], 
    view: view 
    });