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

APIs Google Discussion :

Information distance - PHP


Sujet :

APIs Google

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 24
    Points : 23
    Points
    23
    Par défaut Information distance - PHP
    Bonjour,

    Je suis en train de créer un système de génération de devis automatique en php qui prend en compte des frais de déplacement. J'essaye donc d'utiliser l'API google Map. Seulement, je ne parviens qu'a générer des cartes sur mon site a partir des codes fournis. Je cherche donc a récupérer les informations kilométriques dont j'ai besoin pour calculer les frais de déplacement a partir d'un coefficient au kilomètre.

    Comment est-ce que je pourrais récupérer ces info dans PHP (qui est coté serveur) a partir du code javascript (client) fourni par l'API google ? (J'ai cherché sur le forum déjà sans trouvé de solution a mon problème)

    Voila le code Google que j'ai pu récupérer :
    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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    <script>
     
          var map;
          var geocoder;
          var bounds = new google.maps.LatLngBounds();
          var markersArray = [];
     
          var origin1 = 'rue du portail, Chateauneud du rhone';
       // var origin2 = new google.maps.LatLng(44.5667, 4.75);
      	  var destinationA = '2260, chemin de revirand, Sarras';
     
     
          var destinationIcon = 'https://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=D|FF0000|000000';
          var originIcon = 'https://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=O|FFFF00|000000';
     
          function initialize() {
            var opts = {
              center: new google.maps.LatLng(44.4833, 4.71667),
              zoom: 10,
              mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            map = new google.maps.Map(document.getElementById('map'), opts);
            geocoder = new google.maps.Geocoder();
          }
     
          function calculateDistances() {
            var service = new google.maps.DistanceMatrixService();
            service.getDistanceMatrix(
              {
                origins: [origin1],
                destinations: [destinationA],
                travelMode: google.maps.TravelMode.DRIVING,
                unitSystem: google.maps.UnitSystem.METRIC,
                avoidHighways: false,
                avoidTolls: false
              }, callback);
          }
     
          function callback(response, status) {
            if (status != google.maps.DistanceMatrixStatus.OK) {
              alert('Error was: ' + status);
            } else {
              var origins = response.originAddresses;
              var destinations = response.destinationAddresses;
              var outputDiv = document.getElementById('outputDiv');
              outputDiv.innerHTML = '';
              deleteOverlays();
     
              for (var i = 0; i < origins.length; i++) {
                var results = response.rows[i].elements;
                addMarker(origins[i], false);
                for (var j = 0; j < results.length; j++) {
                  addMarker(destinations[j], true);
                  outputDiv.innerHTML += origins[i] + ' to ' + destinations[j]
                      + ': ' + results[j].distance.text + ' in '
                      + results[j].duration.text + '<br>';
                }
              }
            }
          }
     
          function addMarker(location, isDestination) {
            var icon;
            if (isDestination) {
              icon = destinationIcon;
            } else {
              icon = originIcon;
            }
            geocoder.geocode({'address': location}, function(results, status) {
              if (status == google.maps.GeocoderStatus.OK) {
                bounds.extend(results[0].geometry.location);
                map.fitBounds(bounds);
                var marker = new google.maps.Marker({
                  map: map,
                  position: results[0].geometry.location,
                  icon: icon
                });
                markersArray.push(marker);
              } else {
                alert('Geocode was not successful for the following reason: '
                  + status);
              }
            });
          }
     
          function deleteOverlays() {
            if (markersArray) {
              for (i in markersArray) {
                markersArray[i].setMap(null);
              }
              markersArray.length = 0;
            }
          }
     
        </script>
    Merci d'avance =)

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 120
    Points : 44 917
    Points
    44 917
    Par défaut
    Bonjour,
    Comment est-ce que je pourrais récupérer ces info dans PHP (qui est coté serveur) a partir du code javascript (client) fourni par l'API google ?
    il te faut regarder du coté de la technique Ajax
    Les meilleurs cours et tutoriels AJAX

Discussions similaires

  1. fonction distance php
    Par loribac dans le forum Langage
    Réponses: 15
    Dernier message: 08/10/2013, 22h41
  2. [MySQL] Recuperation d'information XLS php planning
    Par Bruce Campbell dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 18/11/2009, 14h31
  3. Besoin d'information sur php
    Par oulladev dans le forum Langage
    Réponses: 1
    Dernier message: 21/05/2009, 23h05
  4. [PHP-JS] Tracer des informations avec PHP
    Par elspliffo dans le forum Langage
    Réponses: 5
    Dernier message: 26/12/2006, 19h35
  5. information php/BDD
    Par Burinho dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 26/02/2005, 23h00

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