#1 Tue 27 April 2010 14:54
- Tony VINCENT
- Participant actif
- Lieu: Poitiers
- Date d'inscription: 13 Jan 2010
- Messages: 86
Popup sur plusieurs couches séléctionnées
Bonjour,
J'avance sur mon projet, mais je suis de nouveau bloqué.
Je vous expose mon soucis.
J'utilise Mapfish pour faire mon interface, avec une arborescence de couche géré par layertree.
J'affiche le fond de carte Google, et mes couches (fichiers KML). Jusque la tout va bien.
A cela, je souhaitais ajouter un popup, au clique sur les points. J'ai utilisé pour faire cela le code suivant, qui fonctionne très bien.
Code:
var selectControl, selectedFeature; function onPopupClose(evt) { selectControl.unselect(selectedFeature); } function onFeatureSelect(feature) { selectedFeature = feature; //var url = "https//.../.../" + feature.attributes.id; popup = new OpenLayers.Popup.FramedCloud("chicken",feature.geometry.getBounds().getCenterLonLat(),null, "<div style='font-size:.8em'><iframe src='http://.../.../" + feature.attributes.id + "' width='700' height='500'></iframe></div>",null, true, onPopupClose); feature.popup = popup; map.addPopup(popup); } function onFeatureUnselect(feature) { map.removePopup(feature.popup); feature.popup.destroy(); feature.popup = null; }
Le code pour créer les couches :
Code:
var createKmlLayer = function(name, url, options) { name = new OpenLayers.Layer.GML(name, url, options); map.addLayer(name); selectControl = new OpenLayers.Control.SelectFeature(name, {onSelect: onFeatureSelect, onUnselect: onFeatureUnselect}); map.addControl(selectControl); selectControl.activate(); } ... ... createKmlLayer( "reseau_vae", "xml/pc_cinema.kml", { format: OpenLayers.Format.KML, formatOptions: { extractStyles: true, extractAttributes: true }, displayInLayerSwitcher: false }); createKmlLayer( "reseau_eri", "xml/site_terri_dre_eri.kml", { format: OpenLayers.Format.KML, formatOptions: { extractStyles: true, extractAttributes: true }, displayInLayerSwitcher: false });
Quand je sélectionne, une seul couche cela fonctionne très bien.
Mais si je sélectionne deux couches, le clique sur les points ne fonctionne que sur une seul couche.
Est-il possible, que le clique pour afficher le popup fonctionne sur plusieurs couches ?
La façon de créer mes couches n'est peut être pas la bonne ?
Tony
Hors ligne
#2 Tue 27 April 2010 16:04
Re: Popup sur plusieurs couches séléctionnées
Bonjour,
je suppose que quand tu parles de 'sélection' tu veux dire dans le layertree pour afficher la couche ?
De mémoire il n'est pas possible de sélectionner deux couches en même temps.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Tue 27 April 2010 16:42
- Tony VINCENT
- Participant actif
- Lieu: Poitiers
- Date d'inscription: 13 Jan 2010
- Messages: 86
Re: Popup sur plusieurs couches séléctionnées
Oui, c'est ça.
Je coche deux couches pour les afficher sur la carte.
Si, ce n'est pas possible, ce n'est pas possible.
Il faudra que je l'explique dans la documentation, sur l'utilisation de l'outil.
Merci, pour ta réponse.
Hors ligne