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

JavaFX Discussion :

javafx et fonction javascript


Sujet :

JavaFX

  1. #1
    Membre du Club
    Homme Profil pro
    Medecin Biologiste
    Inscrit en
    Janvier 2013
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Medecin Biologiste
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 64
    Points : 49
    Points
    49
    Par défaut javafx et fonction javascript
    Bonjour,
    J'ai créé en javascript une fonction de tracé de route avec uniquement des points GPS utilisant Googlemap. J'aimerai l'utiliser à partir de javafx notamment via un bouton géré par javafx. Est ce possible via Engine ? Pouvez vous m'aider ? ci joint le code javascript de ma fonction Googlemap permettant de tracer le trajet effectué:

    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
     
    function displayRoute(origin, destination) {
     
    var malat = [49.846382088442,49.84557955042] ;var malong = [2.2642779350280,2.2633337974548] ;
    var origin=waypts[0];
    var destination=waypts[0];
    alert(waypts[0]);
    for(var j=0;j<coordolat.length;j++){myLatlng2.push({lat: coordolat[j], lng: coordolng[j]});}
     
    var service = new google.maps.DirectionsService;
    var display = new google.maps.DirectionsRenderer({
        draggable: true,
        map: map,
        panel: document.getElementById('right-panel')
      });
    var waypts = [];    // je crée un tableau de coordonnees de points de passage afin de transmettre le tableau dans service route
    for(var j=0;j<myLatlng2.length;j++){
            waypts.push({
                location: myLatlng2[j],
            }); 
    }
     
      service.route({
        origin: waypts[0],
        destination: destination,
        waypoints: waypts,
        travelMode: 'DRIVING',
        avoidTolls: true
      }, function(response, status) {
        if (status === 'OK') {
          display.setDirections(response);
        } else {
          alert('Could not display directions due to: ' + status);
        }
      });
    En attente de vos réponses.
    Bien Cdt

  2. #2
    Membre du Club
    Homme Profil pro
    Medecin Biologiste
    Inscrit en
    Janvier 2013
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Medecin Biologiste
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 64
    Points : 49
    Points
    49
    Par défaut Pour etre plus précis
    J arrive par le WebEngine à entrer dans ma fonction javascript mais le tableau de variable qui était dans ma page html a perdu toute ses valeurs entre temps. Pour éviter ce problème , j ai chargé ses valeurs dans une arrayList et je vais devoir réenvoyer à ma fonction ce tableau au format String et c'est la que ça pose probleme : J'arrive à envoyer une valeur mais pas un tableau de valeurs. Est ce possible de faire cela avec le webengine vers une fonction javascript ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    btn1.setOnAction(actionEvent -> {  			
    				latitrajet = new String[mespoints.size()];// mon arrayList
     
    				for(int i = 0; i < mespoints.size(); i++)
    			    {
    					latitrajet[i]= mespoints.get(i).getLatitude();
    					System.out.println("La latitude du point "+ i +" est : "+latitrajet[i]);
    			    }  
     
    				//String aenvoyer= "49.8465";
                    webview.getEngine().executeScript("Aurevoir("+latitrajet+");");        
            });
    et une petite fonction javascript pour essayer qui ne marche pas au format tableau!!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function Aurevoir(malatitude) {
    	var lat=[];
    	for (var i=0;i<malatitude.length; i++){
    		 lat[i] = malatitude[i].valueof();
    		var marker = new google.maps.Marker({
    		    position: {lat: lat[i], lng: 2.2633337974548},
    		    map: map
    		  });
    	}
    	}
    En attente de vos réponses

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Ce n'est pas tout a fait comme ça que tu dois procéder je pense. En exhumant du code d'y a deux ans qui utilisait une lib pour afficher du KML par dessus Google map, je créais un tableau de pts de la manière suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    final String pointsStr = points.stream()
        .map(point -> String.format("new google.maps.LatLng(%s, %s)", NUMBER_FORMAT.format(point.getY()), NUMBER_FORMAT.format(point.getX()))) // NOI18N. 
        .collect(Collectors.joining(", ")); // NOI18N. 
    // Ce qui forme une chaîne de style "new google.maps.LatLng(lat1, lon1), new google.maps.LatLng(lat2, lon2), new google.maps.LatLng(lat3, lon3)"
    final String command = String.format("document.zoomToBounds([%s])", pointsStr); // NOI18N.   
    // Ce qui permet de faire une commande sous la forme "document.zoomToBounds([new google.maps.LatLng(lat1, lon1), new google.maps.LatLng(lat2, lon2), new google.maps.LatLng(lat3, lon3)])"
    Donc on a fait un tableau JavaScript directement dans la chaine de texte plutôt qu'un tableau Java dans le code.

    Note : utiliser .collect(Collectors.joining("[", ", ", "]")); // NOI18N. pour directement créer une chaîne définissant le tableau.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #4
    Membre du Club
    Homme Profil pro
    Medecin Biologiste
    Inscrit en
    Janvier 2013
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Medecin Biologiste
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 64
    Points : 49
    Points
    49
    Par défaut ça Marche !!!
    Bonjour Monsieur Bouye,
    Merci beaucoup pour votre aide . Concatener un trajet au format String marche très bien.

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

Discussions similaires

  1. Appel de fonction javascript
    Par lepierre dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/11/2004, 14h28
  2. Réponses: 5
    Dernier message: 13/08/2004, 15h40
  3. Réponses: 4
    Dernier message: 02/06/2004, 16h35
  4. Réponses: 11
    Dernier message: 10/05/2004, 10h49
  5. appel xmlservice via fonction javascript
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 06/05/2003, 14h24

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