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

WinDev Discussion :

Jonction entre Windev et GOOGLE (Javascript)


Sujet :

WinDev

  1. #1
    Membre habitué
    Homme Profil pro
    Mis a la retraite forcée
    Inscrit en
    Octobre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Mis a la retraite forcée
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 89
    Points : 174
    Points
    174
    Par défaut Jonction entre Windev et GOOGLE (Javascript)
    Bonjour, Après une longue interruption pour maladie. Je me suis remis a la programmation, mais j'ai quelques soucis.

    J'ai commencé a developpé une application avec WINDEV 10, permettant l'affichage d'une carte Google. (Champ HTML Windev)

    En selectionnant mes favoris, ils s'affichent directement sur la carte. Je peux finaliser le positionnement en déplaçant les Markers avec la souris.

    Et je souhaite récupérer les nouvelles coordonnées du Markers pour mettre a jour ma base.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    google.maps.event.addListener(marker, 'dragend', function(event) {
    //message d'alerte affichant la nouvelle position du marqueur
    alert("La nouvelle coordonnée du marqueur est :"+event.latLng);
    });
    Avec ce code, j'ai la nouvelle position, mais la question c'est comment puis je la récupérer avec windev ?

    Par avance, je vous remercie pour votre aide, car là, vrament, j'ai le cerveau qui flanche !
    On trouve des chercheurs qui cherchent, mais on cherche des chercheurs qui trouvent !

  2. #2
    Expert éminent
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    3 947
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 947
    Points : 9 275
    Points
    9 275
    Par défaut
    bonjour,
    si tu utilises l'activeX Web browser à la place du champ HTML, tu peux essayer de déclencher un événement de l'activeX quand tu finis ton drag and drop du marqueur. Cet événement peut être par exemple un changement de titre (TitleChange -> document.title) ou un changement de texte de status (StatusTextChange -> window.status).
    voici un exemple où l'on utilise l'activeX Web browser pour afficher une carte google map et on place un marqueur au centre de la carte. Le marqueur est déplaçable et sur l'événement de fin de déplacement on change le titre du document HTML pour déclencher un événement activeX TitleChange. Dans le titre on place les coordonnées du marqueur. Cela paraît un peu bidouille mais à des chances de marcher.
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    // J.P Aout 2012
    //AX_Carte est un champ ActiveX de type Web browser
    laCarte est une chaîne = [
    <html lang="fr">
    <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
    <meta charset="UTF-8" />
    <title>Bienvenue chez les chtis</title>
    <style type="text/css">
    html {
    height: 100%
    }
    body {
    height: 100%;
    margin: 0;
    padding: 0
    }
    #EmplacementDeMaCarte {
    height: 100%
    }
    </style>
    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript">
    function initialisation(){
    var centreCarte = new google.maps.LatLng(50.966667, 2.433333);
    var optionsCarte = {
    zoom: 9,
    center: centreCarte,
    mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    var maCarte = new google.maps.Map(document.getElementById("EmplacementDeMaCarte"), optionsCarte);
    var optionsMarqueur;
    var marqueur;
    optionsMarqueur = {
    position: centreCarte,
    map: maCarte,
    draggable : true,
    title: "marqueur test"
    }
    marqueur = new google.maps.Marker(optionsMarqueur);
    google.maps.event.addListener(marqueur, 'dragend', function(event) {
    //message d'alerte affichant la nouvelle position du marqueur
    //alert("La nouvelle coordonnée du marqueur est :"+event.latLng);
    //changement de titre pour déclencher un événement ActiveX
    document.title =event.latLng;
    });
    }
    google.maps.event.addDomListener(window, 'load', initialisation)
     
    </script>
    </head>
    <body>
    <div id="EmplacementDeMaCarte"></div>
    <noscript>
    <p>Attention : </p>
    </noscript>
    </body>
    </html>
    ]
     
     
    fCrée(fRepEnCours()+"\lacarte.html")
    nIDFichier est un entier
    // Ouverture du fichier
    nIDFichier = fOuvre(fRepEnCours()+"\lacarte.html", foEcriture)
    SI nIDFichier <> -1 ALORS
    	// Ecriture du contenu HTML dans le fichier
    	fEcrit(nIDFichier,laCarte)
    	// Fermeture du fichier
    	fFerme(nIDFichier)
    SINON
    	Erreur("Erreur sur fichier lacarte.html" )
    FIN
    ActiveXEvénement(ChangementTitre ,AX_Carte ,"TitleChange") 
    AX_Carte>>navigate2(fRepEnCours()+"\lacarte.html")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PROCEDURE ChangementTitre(letexte)
    Trace(letexte)
    Ami calmant, J.P
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

  3. #3
    Membre habitué
    Homme Profil pro
    Mis a la retraite forcée
    Inscrit en
    Octobre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Mis a la retraite forcée
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 89
    Points : 174
    Points
    174
    Par défaut
    Bonjour, et merci d'avoir pris le temp de me répondre;
    C'est effectivement une solution a laquelle je n'avais pas pensé et elle est bonne.

    J'avais trouvé une autre solution, enfin on m'en avait trouvé une autre, mais qui était un peu plus lourde avec des champs.

    Je vais essayer les deux et voir la plus simple en récupération.

    Cordialement
    M. MANDIN


    PS: Je viens d'essayer, et cela fonctionne a merveille !

    Un grand merci !
    On trouve des chercheurs qui cherchent, mais on cherche des chercheurs qui trouvent !

  4. #4
    Membre habitué
    Homme Profil pro
    Mis a la retraite forcée
    Inscrit en
    Octobre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Charente (Poitou Charente)

    Informations professionnelles :
    Activité : Mis a la retraite forcée
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 89
    Points : 174
    Points
    174
    Par défaut
    Re-Bonjour !

    J'ai un nouveau petit soucis. Cela concerne la détection d'événement avec activexEvenement

    J'ai créée un procédure d'interception

    Si la procédure est simple comme ceci, cela fonctionne Bien !
    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
    FONCTION ACTIVEXAction(_sEvenement="")
    SI Position(_sEvenement,":">0 ALORS
    sParam1 , sParam2 sont des chaînes
     
    sParam1 = ExtraitChaîne(_sEvenement,1,":")
    sParam2 = Remplace(Remplace(ExtraitChaîne(_sEvenement,2,":"),"(","",")","")
    _sEvenement = ""
     SELON sParam1
           CAS "MARKERDeplacement"
    // Le marker a été déplacé
    // Confirmation du déplacement et sauvegarde
    
     
            CAS "MARKERCréation"
            CAS "MARKERSupprimer" 
     
            AUTRE CAS
     
      FIN
    FIN
    Par contre, si je rajoute dans le code une demande de confirmation

    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
    23
    24
    25
    26
    27
    28
    29
    30
     
     
    FONCTION ACTIVEXAction(_sEvenement="")
    SI Position(_sEvenement,":">0 ALORS
    sParam1 , sParam2 sont des chaînes
     
    sParam1 = ExtraitChaîne(_sEvenement,1,":")
    sParam2 = Remplace(Remplace(ExtraitChaîne(_sEvenement,2,":"),"(","",")","")
    _sEvenement = ""
     SELON sParam1
           CAS "MARKERDeplacement"
    // Le marker a été déplacé
    // Confirmation du déplacement et sauvegarde
    
                SELON Confirmer(Non,"Le marker a été déplacé !","voulez-vous enregistrer ces modifications ?")
                          CAS Non
                                 //
                          CAS Oui
                                 //
                          AUTRE CAS
     
                      FIN
            CAS "MARKERCréation"
            CAS "MARKERSupprimer" 
     
            AUTRE CAS
     
      FIN
    FIN
    Là, j'ai la boite de dialogue qui s'affiche plusieurs fois les fenetres les unes par dessus les autres.
    Je me demande si il ne faudrait pas désactiver l'interception d'evenement le temps du traitement et de la réactiver après, mais je n'ai pas trouvé comment le désactiver.
    On trouve des chercheurs qui cherchent, mais on cherche des chercheurs qui trouvent !

Discussions similaires

  1. Différence de rendu du code entre IE et Google Chrome
    Par polynesian turtle dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/01/2010, 14h20
  2. [regexp] regexp date entre deux années en javascript
    Par Julien Rozier dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 09/05/2008, 16h49
  3. problème de lien entre WINdev et access
    Par yabolos dans le forum WinDev
    Réponses: 3
    Dernier message: 15/11/2007, 12h10
  4. Problème de format entre Windev et SQl Server
    Par rphenix dans le forum WinDev
    Réponses: 7
    Dernier message: 20/06/2007, 09h36
  5. Réponses: 2
    Dernier message: 29/05/2007, 10h55

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