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 :

Calculer l'itinéraire dans un champ html


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 378
    Points : 40
    Points
    40
    Par défaut Calculer l'itinéraire dans un champ html
    Bonjour

    j'ai repris ce tuto https://wind.developpez.com/tutoriel...ap-windev/#LII
    Je l'applique ca marche bien

    j'aimerais savoir comment calculer l'itinéraire en fonction de latitude ,longitude(Départ) et latitude ,longitude(Arrivée)
    Comme le cas des adresses (Départ et arrivée) dans le tuto

    Je faisais ce test mais ca n'a pas marché, j'ai la version 28

    Message d'erreur : Impossible de trouver 33.4984,-7.643212,33.4429342,7.643212 dans Google Maps

    sLienHTTP est une chaîne
    sLienHTTP="http://maps.google.com/maps?q="
    sLienHTTP+= SAI_LatDep +","+ SAI_LongDep
    sLienHTTP+= SAI_LatArr +","+ SAI_LongArr

    HTM_SansNom1 = sLienHTTP
    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 805
    Points : 5 253
    Points
    5 253
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Google a certainement du changer sa politique de sécurité entre la date de l'article et le jour de ton développement. Avec google, il faut une personen à temps complet pour surveiller les modif et recoder.
    Je te conseille de passer par Open Street MAP. Il y a un bon exemple sur le dépôt PC Soft.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 378
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Bonjour,
    Google a certainement du changer sa politique de sécurité entre la date de l'article et le jour de ton développement. Avec google, il faut une personen à temps complet pour surveiller les modif et recoder.
    Je te conseille de passer par Open Street MAP. Il y a un bon exemple sur le dépôt PC Soft.

    Merci de ton retour

    Je faisais cet exemple mais lors je teste une adresse puis je clique sur "Ajout" affichage un message d'erreur "erreur de script..."

  4. #4
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 961
    Points
    961
    Par défaut
    Bonjour,
    le tuto en question date de plus de 13 ans ! entre temps, google a changé pas mal de choses ...
    Notamment l'incompatibilité d'affichage de la carte avec un champs HTML basé sur IE

    ce n'est qu'à partir de la version 26 de windev que le champ HTML se base sur chromium

    Je vois ici 3 solutions :
    - Passer à la version 26
    - Utilisation d'un autre système de carto
    - Si vous souhaitez rester avec l'API google map, vous pouvez aussi passer la génération HTML javascript dynamique de votre page web et d'afficher cela en dehors de windev dans un navigateur
    voir documentation Google Map

    Bon courage

    Réda
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 378
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par b_reda31 Voir le message
    Bonjour,
    le tuto en question date de plus de 13 ans ! entre temps, google a changé pas mal de choses ...
    Notamment l'incompatibilité d'affichage de la carte avec un champs HTML basé sur IE

    ce n'est qu'à partir de la version 26 de windev que le champ HTML se base sur chromium

    Je vois ici 3 solutions :
    - Passer à la version 26
    - Utilisation d'un autre système de carto
    - Si vous souhaitez rester avec l'API google map, vous pouvez aussi passer la génération HTML javascript dynamique de votre page web et d'afficher cela en dehors de windev dans un navigateur
    voir documentation Google Map

    Bon courage

    Réda
    Merci Reda

    J'ai basé sur le tuto qui est en dépôt pcsoft et je suis en Version 28
    Alors j'ai un peu avancé
    Seul qui reste comment tracer l' itinéraire entre les points

    Nom : Carte.png
Affichages : 242
Taille : 130,8 Ko

    Code du boton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    POUR TOUTE LIGNE DE TABLE
     
    	gstCur_Pos.rLatitude	= COL_Lat
    	gstCur_Pos.rLongitude	= COL_Long
    	gstCur_Pos.sLibelle	= COL_Position
    	gtabMes_Points.Ajoute( gstCur_Pos)
     
    FIN
     
     
    HTM_Carte=InitCarte("WD24_OSM",HTM_Carte..Largeur-10,HTM_Carte..Hauteur-10,10,gtabMes_Points)
    Procedure InitCarte()
    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
     
    sTmpHTM=[
    <html>
    <head>
    <title>%1</title>
     
    <link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A==" crossorigin="" />
    <link rel="stylesheet" href="https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.css" />
    <link rel="stylesheet" href="https://unpkg.com/leaflet-routing-machine@latest/dist/leaflet-routing-machine.css" />
     
    </head>
    <body>
    <script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js" integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA==" crossorigin=""></script>
    <script src="https://unpkg.com/leaflet-control-geocoder/dist/Control.Geocoder.js"></script>
    <script src="https://unpkg.com/leaflet-routing-machine@latest/dist/leaflet-routing-machine.js"></script>
     
    <div id="mapid" style="width: %2; height: %3px;"></div>
     
    <script>
    var mymap = L.map('mapid').setView([%5, %6], %4);
    L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
    attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
    minZoom: 1,
    maxZoom: 20
    })
    .addTo(mymap);
     
    L.Routing.control({
    routeWhileDragging: true,
    geocoder: L.Control.Geocoder.nominatim(),
    router: new L.Routing.osrmv1({
    language: 'fr',
    profile: 'satelite',
    show : true,
    routeWhileDragging: true
    })
    }).addTo(mymap);
    ]
     
    //sMesWaypointBoucle = sMesWaypointBoucle + ChaîneConstruit("L.latLng(%1,%2), ",stCurPoint.rLatitude,stCurPoint.rLongitude) 
     
    POUR TOUT stCurPoint DE tabCurPoints
    	sTmpPoint	= SetPoint(stCurPoint)
    	sTmpHTM		= sTmpHTM+sTmpPoint
    	SI stCurPoint.rLatitude<>0 ET stCurPoint.rLongitude<>0 ALORS
    		rMoyLat	= rMoyLat+stCurPoint.rLatitude
    		rMoyLon	= rMoyLon+stCurPoint.rLongitude
    		nBPoint	= nBPoint+1	
    	FIN
    FIN
     
    SI nBPoint>0 ALORS
    	rMoyLat	= rMoyLat/nBPoint
    	rMoyLon	= rMoyLon/nBPoint
    FIN
     
    sTmpHTM=sTmpHTM+[
    </script>
     
    <body>
    <html>
    ] 
    RENVOYER ChaîneConstruit(sTmpHTM,sMonTitre,nMapLargeur,nMapHauteur,nZoomInit,rMoyLat,rMoyLon)

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 805
    Points : 5 253
    Points
    5 253
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Fmfib Voir le message
    Seul qui reste comment tracer l' itinéraire entre les points
    De mémoire, la bibliothèque d'OSM a une fonction qui fait le boulot.
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 378
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    De mémoire, la bibliothèque d'OSM a une fonction qui fait le boulot.

    ne fait pas ce boulot je l'ai testé
    le tuto est devant moi

    je cherche la fonction qui permet ça

    Merci d'avance

  8. #8
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 961
    Points
    961
    Par défaut
    J'ai répondu à votre post initial dans lequel vous tentez d'utiliser l'API google MAP et non celle de OSM

    Si vous êtes en 28, pourquoi ne pas utiliser le champs "Carte" combiné avec la fonction CarteAjouteItinéraire ?
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 378
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par b_reda31 Voir le message
    J'ai répondu à votre post initial dans lequel vous tentez d'utiliser l'API google MAP et non celle de OSM

    Si vous êtes en 28, pourquoi ne pas utiliser le champs "Carte" combiné avec la fonction CarteAjouteItinéraire ?

    c'est payant( c'est facturé chez google)

  10. #10
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 327
    Points : 3 840
    Points
    3 840
    Par défaut
    Bonjour,

    J'utilise les API Maps (pas d'affichage de carte) et GMail sans rien payer.
    Par contre en effet, il faut se créer un compte developper chez eux et le paiement sera nécessaire à partir d'un certain volume de requêtes quotidien.

  11. #11
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 378
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par Lo² Voir le message
    Bonjour,

    J'utilise les API Maps (pas d'affichage de carte) et GMail sans rien payer.
    Par contre en effet, il faut se créer un compte developper chez eux et le paiement sera nécessaire à partir d'un certain volume de requêtes quotidien.
    J'ai déjà un compte
    J'ai utilisé la licence grâce à la fonction Cartelicenece(), mais google il me demande enregistré pour remplir les infos de paiement

  12. #12
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 327
    Points : 3 840
    Points
    3 840
    Par défaut
    ah ok, il y a peut-être eu un changement depuis que j'ai créé ma clé dans ce cas (je ne suis pas allé voir).
    Quel est le coût ?

  13. #13
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 961
    Points
    961
    Par défaut
    C'est payant qu'à partir d'un volume très important d'utilisation
    Pour ma part, j'ai renseigné les coordonnées de paiement et j'utilise le champ carte depuis plusieurs année dans mes applications sans avoir payé 1 centime a Google
    « Il est assez difficile de trouver une erreur dans son code quand on la cherche. C’est encore bien plus dur quand on est convaincu que le code est juste!!»

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/02/2009, 09h22
  2. swf ou flv dans un champ HTML
    Par kwakly dans le forum Flash
    Réponses: 3
    Dernier message: 16/05/2008, 12h15
  3. Récupérer les valeurs d'une requête SQL dans un champs html SELECT
    Par tamiii dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/11/2007, 13h27
  4. Calculer et afficher dans un champs
    Par Mak2S dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/05/2007, 12h49
  5. Réponses: 7
    Dernier message: 22/08/2006, 16h01

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