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 :

Villes aux alentours


Sujet :

APIs Google

  1. #1
    Membre confirmé
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Points : 498
    Points
    498
    Par défaut Villes aux alentours
    Bonjour à tous,

    J'ai recherché un peu dans le forum notamment cette fonction : ComputeDistanceBetween
    Mais je ne sais pas vraiment l'utiliser malgré la doc...

    J'ai une base de donnée avec toutes les villes d'une région (prenons la région Ile de France pour exemple).
    L'utilisateur sélection une ville, par exemple Paris, et défini un rayon maximum, il aura défini 50km. Comment faire pour aller recherche chaque id de ville dans ma base qui se situe dans un rayon de 50km (en utilisant les routes, et non à vol d'oiseau...) ?

    Donc mélange d'AJAX pour intérroger le serveur avec du javascript, j'utilise la librairie JQuery.

    Si quelqu'un a une idée !
    Merci d'avance.
    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 966
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    J'ai recherché un peu dans le forum notamment cette fonction : ComputeDistanceBetween
    et incompatible avec
    (en utilisant les routes, et non à vol d'oiseau...)
    plus de chance avec getDistanceMatrix.

  3. #3
    Membre confirmé
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Points : 498
    Points
    498
    Par défaut
    Bonjour, et merci pour cette réponse.

    J'ai regardé un petit peu cette fonction, mais je vois qu'elle va être lourde à tester à chaque fois (j'ai environ 700 villes à tester pour une origine...).

    N'y aurait-il pas un moyen de tester avec les longitude et latitude ?

    Ce qui suit n'est qu'un exemple :
    Je cherche les villes espacé de 10km de Paris.
    Paris : 1.50000000 50.2333333

    Pour que les autres villes soit prise en compte, il me faudrait toutes les coordonnées qui appartienne au cercle de center 1.5000000 et 50.233333 avec un rayon de 10*x par exemple.

    Au moins avec ça, il me faudrait juste une requête SQL et ça irait beaucoup plus vite... ça réduirait les possibilités à 10% par exemple, et après j'utiliserais getDistanceMatrix pour vérifier si le chemin par route est bien inférieure à 10km !

    Vois-tu où je veux en venir ?
    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  4. #4
    Membre confirmé
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Points : 498
    Points
    498
    Par défaut
    Bon, j'ai trouvé une magnifique requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT libelle, (6366*ACOS(COS(RADIANS(latitude_de_ville_centre))*COS(RADIANS(latitude))*COS(RADIANS(longitude)-RADIANS(longitude_de_ville_centre))+SIN(RADIANS(latitude_de_ville_centre))*SIN(RADIANS(latitude)))) AS Proximite
    FROM  `ville` 
    WHERE Proximite < 20
    ORDER BY Proximite
    LIMIT 0, 30
    Avec ça, vous aurez les villes se trouvant dans les 20km A VOL D'OISEAU.
    Après, il suffit de filtrer grâce API Google
    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 966
    Points : 44 122
    Points
    44 122
    Par défaut
    donc tu reviens au vol d'oiseau !

  6. #6
    Membre confirmé
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Points : 498
    Points
    498
    Par défaut
    Certes, mais voilà comment j'ai réagi :
    Une requête SQL en PHP me sort les villes dans un alentours de 20km. Ca réduit considérablement le nombre de ville du département. Généralement 700 villes/villages dans un département, grâce à cette requête, j'en récupére MAXI 10% (et encore j'suis généreux...).

    Toutes celle à 20km de la ville centrale à vol d'oiseau ne se trouve pas forcément à 20km par la route, mais toutes celles de 20km par la route se retrouve forcément dans les 20km à vol d'oiseau.

    Donc en ayant toutes les villes à vol d'oiseau, pour un même rayon, je peux filtrer beaucoup plus rapidement celle se trouvant à 20km par route. J'ai uniquement quelques villes à tester au lieu d'environ 700.
    Si ton message est résolu, il y a un bouton qui est fait pour ça :
    Il se trouve tout en bas de la conversation !

    N'oublie pas que si ce message t'as aidé, tu peux voter pour lui en utilisant

  7. #7
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 966
    Points : 44 122
    Points
    44 122
    Par défaut
    Citation Envoyé par Simdu80 Voir le message
    Toutes celle à 20km de la ville centrale à vol d'oiseau ne se trouve pas forcément à 20km par la route, mais toutes celles de 20km par la route se retrouve forcément dans les 20km à vol d'oiseau.
    je partage pleinement ce raisonnement, et pour cause.

    Je n'y connaît rien en REQUETE, donc je te fait confiance, cepandant n'aurait il pas mieux valu ramener les villes et leurs données sur le poste client, pour les recalculs éventuels suivants, ou si il y a changement de ville dans un même département.
      -= Client =-         -= Serveur =-
    CHOIX Département --//-> REQUETE
                                |
    AFFICHAGE Ville   <--// ----+
         |
    CHOIX Ville
         |
    CHOIX Distance
         |
      CALCUL

  8. #8
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Décembre 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2013
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonjour à tous,
    je suis à la recherche d'une aide concernant ce sujet.
    J'arrive à utiliser et adapter la requête SQL et afficher un résultat mais je n'arrive pas à modifier la ville centre, je reste en corse
    y aurait il quelqu'un qui pourrait m'expliquer comment modifier la ville centre.
    Merci d'avance pour votre coup de main.

  9. #9
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 966
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    Cette discussion date de 10 ans, il est donc préférable de poster ta demande dans une nouvelle discussion en détaillant le plus possible le souci rencontré, mettre le code JavaScript utilisé est un plus

Discussions similaires

  1. [Google Maps] Fonction findPlaces aux alentours d'un markers
    Par Msysteme dans le forum APIs Google
    Réponses: 3
    Dernier message: 25/05/2014, 16h03
  2. Réponses: 4
    Dernier message: 24/09/2010, 11h14
  3. Accés rapide aux propriétés d'un Objet
    Par Alacazam dans le forum C++Builder
    Réponses: 4
    Dernier message: 28/11/2002, 21h56
  4. Réponses: 3
    Dernier message: 25/07/2002, 10h42
  5. [Choix] Quelles attentes par rapport aux SGBD ?
    Par thierry34 dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 13/07/2002, 20h08

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