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

Conception Web Discussion :

Calcul de distance entre adresse postale et ip


Sujet :

Conception Web

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Points : 12
    Points
    12
    Par défaut Calcul de distance entre adresse postale et ip
    Bonjour !

    Tout d'abord, toutes mes excuses si je n'ai pas poster au bon endroit. Etant donné que je ne sais même pas si ce que je veux faire est possible, je sais encore moins quel langage serrait nécessaire.

    Je viens poster aujourd'hui car pour mener à bien mon projet, j'aimerai savoir s'il était possible de faire un calcul de distance entre une adresse postale sauvegardée dans une base de données et une adresse ip (celle de l'utilisateur).

    Le but étant de pouvoir classer les résultats d'une recherche du plus éloigné de l'utilisateur au plus proche et inversement, ou encore de lister les enregistrements étant à moins de X kilomètres.

    Voilà, en espérant pouvoir le faire sans avoir à recréer mon propre google map...

    Merci d'avance pour votre aide !

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juillet 2009
    Messages : 132
    Points : 283
    Points
    283
    Par défaut
    Bonjour,

    Alors, tout d'abord, l'adresse IP ne permet pas de situer l'utilisateur de façon précise et fiable. Moi qui utilise un proxy par exemple, les services de localisation me situent à 1500 km de ma position réelle. Donc il faut le garder à l'esprit et prévoir un moyen pour l'utilisateur d'indiquer sa position manuellement.

    Ensuite, l'API de géolocalisation HTML5 permet de retrouver la latitude et la longitude associées à l'utilisateur du navigateur. Là encore, l'utilisateur peut très bien avoir désactivé cette fonctionnalité !

    Sinon, il existe des services de géolocalisation comme celle de http://www.hostip.info, qui fournit une API ou des copies de sa base de données.

    Pour calculer la distance qui sépare deux positions géographiques... Ben ça dépend si tu veux la distance d'oiseau ou la distance routière ? Si la première peut être calculée par une formule mathématique, la deuxième peut être fournie par l'API Google Maps.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 18
    Points : 12
    Points
    12
    Par défaut
    Merci pour ces précisions. Comme tu l'as dis toi-même, se fier à l'ip n'est pas très sûr. Je suis donc contraint d'obliger les utilisateurs à choisir une adresse parmi les différentes adresses qu'ils auront enregistrées sur le site avant de passer une commande. Ce n'est pas plus mal quelque part...

    J'utilise l'API google. Pour ceux que ca intéresse, voici mon code:

    Code php : 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
    <?php 
    function getDistance($adresse1,$adresse2) {	
        	$url='http://maps.google.com/maps/api/directions/xml?language=fr&origin='.$adresse1.'&destination='.$adresse2.'&sensor=false';
        	$xml=file_get_contents($url);
        	$root = simplexml_load_string($xml);
        	$distance=$root->route->leg->distance->value;	
        	return array(
        	   'distanceEnMetres'=>$distance,
        	   'dureeEnSecondes'=>$duree,
        	   'etapes'=>$etapes,
        	   'adresseDepart'=>$root->route->leg->start_address,
        	   'adresseArrivee'=>$root->route->leg->end_address
        	);
        }
     
    $depart=urlencode('adresse,ville,pays');
    $arrivee=urlencode(adresse,ville,pays);
    $test = getDistance($depart,$arrivee);
     
    ?>

    La variable $test est un tableau grâce auquel je peux récupérer:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
     La distance en mètres: $test['distanceEnMetres']
     La durée en secondes: $test[''dureeEnSecondes']
    ?>
     ect...

    Les calculs sont effectués en fonction des trajets routiers.

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

Discussions similaires

  1. Google Maps - calcul de distance entre 2 adresses
    Par nico_4802 dans le forum Services Web
    Réponses: 5
    Dernier message: 13/12/2009, 03h40
  2. calculer la distance entre 2 point en c++
    Par chabeka dans le forum Débuter
    Réponses: 6
    Dernier message: 10/02/2009, 19h50
  3. Réponses: 2
    Dernier message: 17/09/2008, 14h27
  4. Calcul de distance entre 2 adresses
    Par pkrvz dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/02/2008, 23h41
  5. Calcul de distance entre deux points en WGS84
    Par marieR dans le forum Langage
    Réponses: 5
    Dernier message: 03/08/2006, 17h07

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