Bienvenue! Inscrivez-vous et rejoignez notre communauté :)
  • Login:

Bienvenue sur Forum SIG - Systèmes d'Information Géographique et Géomatique.

Bienvenue sur le forumSIG. S'il s'agit de votre première visite, assurez vous de faire une recherche préalable dans les FAQ SIG. Vous devez vous inscrire avant de pouvoir poster.

Affichage des résultats 1 à 6 sur 6
  1. #1

    Date d'inscription
    juillet 2008
    Messages
    183

    Par défaut Non Résolu : Enregistrer un map click

    Bonjour,

    J'ai une carte OpenLayers sur laquelle je voudrais enregistrer un événement de clic.
    Code:
    // Cette fonction doit être déclarée à l'extérieur de map.events.on() pour pouvoir désenregistrer l'événement click. var mafnc = function(e){...};   // Activer map.events.on({ 	click : mafnc });   // Desactiver map.events.un({ 	click : mafnc });
    Avec le code ci-dessus, j'ai l'erreur suivante :
    Code:
    TypeError: d.func.apply is not a function
    Si j'utilise le code suivant, je n'ai pas d'erreur. Mais l'inconvénient est que je ne peux pas dés-enregistrer l'événement clic :
    Code:
    map.events.on({ 	click : function(e){...} });
    Auriez-vous une manière de faire pour utiliser le premier bout de code sans avoir l'erreur citée ?

    Cordialement.

  2. #2

    Date d'inscription
    novembre 2004
    Localisation
    Normandie
    Emploi
    Responsable INFO SIG
    Organisme
    CRPF
    Âge
    33
    Messages
    309

    Par défaut

    Bonjour

    Je n'ai pas tout compris.

    Je te propose

    map.events.register('click', map, function (e) {
    if (Veux activer le clic) {}
    else {OpenLayers.Event.stop(e);} // J'arrête l’évènement le click est désactivé
    });

    Tu veux désactivé ton Click dans quel but?
    As-tu pensé plutôt à désactiver le Control que tu ne souhaites pas utiliser?

    Cdlt Tio

  3. #3

    Date d'inscription
    juillet 2008
    Messages
    183

    Par défaut

    Bonjour Tio,

    Pour dés-enregistrer un événement avec map.events.un(), il faut que la fonction qui s'exécute au click et qui est spécifiée dans map.event.on() soit déclarée et enregistrée dans une variable, en dehors de map.events.on() : qu'elle ne soit pas anonyme.
    Quand je suis cette logique j'ai une erreur et le click n'est pas enregistré.

    OpenLayers.Event.stop(e); ne marche pas pour moi.
    D'ailleurs, je ne trouve pas l'objet OpenLayers.Event dans l'API OpenLayers.

    Est-ce que tu peux détailler un peu plus.

  4. #4

    Date d'inscription
    juillet 2008
    Messages
    183

    Par défaut

    Une solution :

    Code:
    map.events.register('click', map, function mafnc(e) {
     ...
    // Désactiver après un click
    map.events.unregister('click', map, mafnc);
    });

  5. #5

    Date d'inscription
    novembre 2004
    Localisation
    Normandie
    Emploi
    Responsable INFO SIG
    Organisme
    CRPF
    Âge
    33
    Messages
    309

    Par défaut

    En effet, Tu as deux API
    Dans le chapitre documentation tu as Documentation/Note on API Stability:

    • 2.12 (Last stable release) Developer Library Natural Docs on dev.openlayers.org
    • Trunk Developer Library Natural Docs on dev.openlayers.org


    http://dev.openlayers.org/docs/files...Events-js.html

    Les exemples que l'on peut trouver sur Openlayers utilise différentes versions.

    Bonne continuation
    Tio

  6. #6

    Date d'inscription
    juillet 2008
    Messages
    183

    Par défaut

    Ok merci.

 

 

Discussions similaires

  1. [ArcGIS 9.x] Enregistrer en relatif
    Par débutant7 dans le forum Assistance Technique
    Réponses: 4
    Dernier message: 26/02/2013, 08h27
  2. [OpenLayers] Comment générer un click sans cliquer
    Par hamza_Sig dans le forum Assistance et Programmation
    Réponses: 2
    Dernier message: 27/05/2011, 10h43
  3. [ArcGIS 9.x] Engine Vb.Net : click sur la petite croix de la TOC
    Par marsuin_89 dans le forum Programmation
    Réponses: 0
    Dernier message: 19/09/2010, 09h52
  4. [MapBasic 7.x] Enregistrer un document
    Par Séraphin dans le forum Programmation
    Réponses: 18
    Dernier message: 07/07/2009, 09h23
  5. [MapServer] Ajouter un point sur une carte suite à un click
    Par brunetc dans le forum Assistance et Programmation
    Réponses: 23
    Dernier message: 26/07/2005, 09h46

Les tags pour cette discussion

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •