comment preciser le css des .gpPopup .gpPopupContent .gpPopupHead uniquement pour une couche donnée (donc hors style en haut de page html).
y a t il une doc ou un exemple?
merci
Version imprimable
comment preciser le css des .gpPopup .gpPopupContent .gpPopupHead uniquement pour une couche donnée (donc hors style en haut de page html).
y a t il une doc ou un exemple?
merci
Bonne question ... c'est pas possible sans surcharger le Javascript :roll:
En effet, la structure d'une popup ne prend pas en compte la couche ...
De fait, non ...
Mais, il "suffit" de surcharger la méthode qui crée les popups :D
KML: voir Geoportal.Popup.createPopUpForKMLFeature
GPX: voir Geoportal.Popup.Anchored.createPopUpForGPXFeature
WFS: voir Geoportal.Popup.Anchored.createPopUpForGMLFeature
GeoRSS: voir Geoportal.Popup.Anchored.createPopUpForGeoRSSFeature
La surcharge peut s'effectuer via l'option onFeatureInsert :
A toi de jouer :ccool:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45... onFeatureInsert: function(feature) { feature.createPopup= OpenLayers.Function.bind(function(f) { /* code de la fonction pour GPX (Geoportal.Popup.Anchored.createPopUpForGPXFeature) : */ var opts= OpenLayers.Util.extend({},this.layer.formatOptions); OpenLayers.Util.applyDefaults( opts,{ size:this.layer.map.getSize(), closeBox:true, onPopupClose:Geoportal.Popup.onPopupClose, backgroundColor:'#ffffff', opacity:0.75 }); var popupClass= this.layer.formatOptions && this.layer.formatOptions.popupClass? this.layer.formatOptions.popupClass : Geoportal.Popup.Anchored; var tempText= (this.attributes.desc? this.attributes.desc+"<br/>":""); tempText+= (this.attributes.cmt? this.attributes.cmt+"<br/>":""); tempText+= (this.attributes.ele? this.attributes.ele:""); tempText= Geoportal.Util.cleanContent(tempText); var popup= new popupClass( "chicken", this.geometry.getBounds().getCenterLonLat(), //taille devra s'adapter au contenu this.layer.map.getSize(), "<div class='gpPopupHead gpGPX'>" + (this.attributes.name? this.attributes.name:"") + "</div>" + "<div class='gpPopupBody gpGPX'>" + tempText + "</div>", null, opts.closeBox, opts.backgroundColor, opts.opacity, opts.onPopupClose, this ); popup= Geoportal.Popup.completePopup(popup,this.layer.formatOptions); this.popup= popup; return this.popup; },feature); } ...
merci je fouille le sujet.
Il y a une autre soluce (en fouillant moi aussi) : il suffit dans la définition de la couche d'indiquer la classe CSS pour les popups ainsi :
:ccool:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14var gpx= viewer.getMap().addLayer( "GPX", "Nom de la couche", "url", {//paramétres ... },{//options formatOptions:{ displayClass:'maSuperCSS' ... } ... });
tu vas trop vite pour moi :mrgreen:
j'essayai à l'instant d'inclure des fragments d'html dans le gpx
et je remarque que c'est efficace pour le texte
les appels de popup pour d'autres fenêtres fonctionnent aussi.Code:
1
2 <desc><![CDATA[<font size='1'><b>71.1 Rocher du Général<br/><a href='#' onClick='pop2()'><font color='yellow'>Jaune N°2 PD <br/></a><a href='#' onClick='pop1()'><font color='blue'>Bleu N°1 TD-</b></a>]]></desc>
Reste donc à bosser la structure de la Box à suivre ....... et merci
As-tu fait une recherche sur le forum avec le mot "infobulle" traduction française de popup?
Il y a quelques fils qui devraient t'intéresser...
Bon travail!
Sinon, il y a aussi le site http://www.utagawavtt.com/gmap/geopo...rale-topos-vtt qui gère bien les "infobulles"
Merci pour le coup de pouce ......... :ccool:
Oui oui avant de poser la question j'ai sillonnée le forum et notamment ce postdans lequel tu donnais dejà des pistes pour les survol de wpts et autres traces. le site de zebulon-21 et aussi très bien codé sur ce point.
J'en ai encore mal à la tête :traine: mais j'arriverai à contrarier les class de type gpPopupHead gpGPX et compagnie ............ :mrgreen:
mais vu mon inexperience en javascript cela va me prendre un peu de temps.
:ccool:
merci encore