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 :

Un clic de trop


Sujet :

IGN API Géoportail

  1. #1
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut Un clic de trop
    Dans cette page de test, quand on survole les différents polygones KML, on affiche bien dans le cadre jaune certains renseignements associés.

    Au clic sur un des polygones, j'aimerais lancer ma fonction clicCommune() qui ouvre directement un panneau d'alerte.
    Or dans ma page de test, il faut deux clics pour afficher le panneau d'alerte. Le premier "déselectionne" le style avant de lancer l'alerte. Comment contrecarrer correctement cette action????

    J'arrive à lancer au premier clic mon panneau d'alerte (par exemple en mettant "highlightOnly : true, " dans mes options de controle) mais à ce moment là je perds la gestion du survol...

    Ce qui me décoiffe un peu, c'est que zébulon777 dans cette discussion, sur les conseils de tcoupin est arrivé à un résultat qu'il juge correct.
    Ma page de test reprend fidèlement les propositions de tcoupin (sauf erreur de ma part), mais j'ai besoin de deux clics pour afficher ce que je veux. Donc ce n'est pas bon.
    Qu'en pensent nos maîtres?

  2. #2
    Membre confirmé Avatar de tcoupin
    Homme Profil pro
    Ingénieur Géodésien
    Inscrit en
    Octobre 2012
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Géodésien
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 276
    Points : 525
    Points
    525
    Par défaut
    le unselect est mal placé, il doit être dans la fonction appelée par le hoverCtrl.

    En revanche si on se limite à un hoverCtrl.unselect(feature), la commune passera immédiatement du vert au bleu au vert, autant dire qu'elle restera verte

    alors à la place du unselect, j'ai mis une partie seulement de ce qui se passe dans le unselect et j'ai l'impression que ça pourrait convenir.

    Voilà ce que ça donne :

    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
    22
     function affich(feature) {
    	if (feature) {
    		var idCom=feature.attributes.CODE_COMM.value;
    		var idCan=feature.attributes.CODE_CANT.value;
    	//	console.log(idCom);
    		}
    		var newcontent ='<b><center>commune : '+idCom+'</center></b>
     Canton : '+idCan ;
    		document.getElementById("over").innerHTML = newcontent;
    		OpenLayers.Util.removeItem(feature.layer.selectedFeatures, feature);
    	}
    
    //-----------------------------------------------------------------------------------------------------
    function clicCommune(feature) {
    	//if (feature) {
    //		hoverCtrl.unselect(feature);	
    	//this.unselect(feature);
    		//document.getElementById("popup").style.display = 'none';
    		var code_insee=feature.attributes.CODE_COMM.value
    		console.log ("Code insee de Commune ="+code_insee);
    		alert("Renvoi vers "+code_insee);
    	}

  3. #3
    Membre éprouvé Avatar de cmail
    Homme Profil pro
    Inscrit en
    Mai 2009
    Messages
    1 730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 730
    Points : 966
    Points
    966
    Par défaut
    Merci beaucoup.

    le unselect est mal placé, il doit être dans la fonction appelée par le hoverCtrl.
    Oui, mais j'ai bidouillé plein de chose ce dimanche pour m'en sortir, et c'est un dernier essai que j'ai oublié d'enlever pour vous le soumettre.

    Votre solution est conforme à ma demande. Pour l'instant cela me débloque bien, je vais donc continuer à affiner la présentation...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Clic droit/gauche souris
    Par Mouse! dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 30/05/2013, 20h34
  2. Interdire les clics trop rapprochés
    Par dahno_fr dans le forum Apache
    Réponses: 5
    Dernier message: 11/05/2011, 22h47
  3. gérer le clic gauche-droite en même temps de la sou
    Par Guigui_ dans le forum Langage
    Réponses: 4
    Dernier message: 29/11/2002, 22h52
  4. Arrêter un prog si temps de connexion trop long
    Par jakouz dans le forum Langage
    Réponses: 4
    Dernier message: 22/10/2002, 18h28
  5. Comment ne pas rejouer une animation après un clic ?
    Par mmmmhhh dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 04/09/2002, 16h11

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