IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IGN API Géoportail Discussion :

Gestion des images et fichier KML


Sujet :

IGN API Géoportail

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 56
    Points : 60
    Points
    60
    Par défaut Gestion des images et fichier KML
    Bonjour,
    Je sais que l'API IGN permet d'afficher des couches KML. Or, ce type de couche a l'avantage d'encapsuler des images. Je souhaiterais exploiter cet avantage dans des couches de waypoints ou sur certains points d'un tracé de la manière suivante : lors du survol (hover) du cruseur sur le waypoint, afficher l'image avec telle taille.
    Quelqu'un aurait-il expérimenté cette action ? Si oui, pouvez-vous m'indiquer un lien d'explication ou de ressources pour gérer les possibilités des kml avec l'API IGN ?

  2. #2
    Membre averti
    Femme Profil pro
    Consultante SIG
    Inscrit en
    Mars 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultante SIG

    Informations forums :
    Inscription : Mars 2011
    Messages : 233
    Points : 356
    Points
    356
    Par défaut
    Bonjour,
    Voici la démarche à suivre:
    1) Créer un styleMap:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    var myStyle= new OpenLayers.StyleMap({
    		"default" : new OpenLayers.Style ({
    			'fillColor': "${getUrl}",
    			'fillOpacity': 0.75,
    			'strokeColor': "#FF9900",
    			'strokeWidth': 2,			
    			},{  context : {								    
    					getUrl: function (f){
    						var url;								
    						if(f.attributes.url){		
    							url=f.attributes.url
    						}					
    					        return url;						
    				         }
    				}
    			}),
    
    		"select": new OpenLayers.Style ({
    					...
    		})
    })
    2) associer ce styleMap à la couche en question :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var vLayer=viewer.getMap().addLayer(	
    	"KML",	 
    	"couche KML", 			
    	"url",
    	{ //parameters 
    		visibility:true,
    		styleMap:myStyle
    	}
    );

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 56
    Points : 60
    Points
    60
    Par défaut Affichage sur clic ?
    Bonjour,
    Je vous remercie pour ce bout de code. Je ne l'ai pas essayé mais en le lisant bien, je crois comprendre qu'il va afficher un "polygone" tracé dans le KML, non ? C'est à dire que le polygone s'affichera au chargement de la couche KML, n'est ce pas ?
    Or, je précise par rapport à mon message précédent, que je souhaite afficher une image incluse dans le fichier KML sous forme de popup. Le KML en question contient également des waypoints ou un tracé. Le tracé est chargé et visible, par contre l'image ne peut vue en popup qu'au moment d'un clic ou d'un survol du curseur. Cette utilisation est elle possible ?

  4. #4
    Membre averti
    Femme Profil pro
    Consultante SIG
    Inscrit en
    Mars 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultante SIG

    Informations forums :
    Inscription : Mars 2011
    Messages : 233
    Points : 356
    Points
    356
    Par défaut
    Bonjour,
    Désolée, je me suis trompée dans la réponse que je vous ai donnée...
    Si vous voulez afficher une popup au clic sur un objet de votre fichier kml, il faut utiliser l'option onSelect qui a pr valeur le nom d'une fonction qui prend en entrée l'objet sur lequel on a cliqué:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    var vLayer=viewer.getMap().addLayer(	
    	"KML",	 
    	"couche KML", 			
    	"url",
    	{ //parameters 
    		visibility:true,
    		styleMap:myStyle
    	},{
                    onSelect:selection
            }
    );
    
    function selection(f){
    
         // Création de la popup
    
    }

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 56
    Points : 60
    Points
    60
    Par défaut Confirmation
    OK, je vous remercie. Je constate que la procédure est celle que j'utilise déjà pour les fichiers GPX. Il faut certainement que je me réfère aux méthodes des couches KML pour trouver l'image associée à un Waypoint.

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/02/2014, 15h47
  2. [XSL~FO] Fichier de conf et gestion des images
    Par Little_flower dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 18/06/2007, 14h06
  3. Classe de gestion des images
    Par tlemcenvisit dans le forum MFC
    Réponses: 2
    Dernier message: 03/05/2005, 19h07
  4. Class de gestion des images avec rotation
    Par Johnny Boy dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2005, 11h54
  5. [TP]Gestion des images bmp avec BMP.TPU
    Par Gabi dans le forum Turbo Pascal
    Réponses: 9
    Dernier message: 14/05/2004, 23h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo