Page 1 sur 1

Problème localisation

Posté : 30 avr. 2012, 17:04
par Aoigami
Bonjour,

Voilà j'ai une base de données avec des champs latitude et longitude.
Je voudrais grâce à l'API Google Maps n'afficher que les lignes dont les latitudes et longitudes se trouvent en France dans un tableau.
Pouvez-vous m'aider svp ?

Re: Problème localisation

Posté : 30 avr. 2012, 17:10
par xTG
Traiter des coordonnées comme les latitudes et longitudes sur une forme telle qu'un pays n'est pas chose facile.
Je dirai même plus, n'est pas envisageable !

Le mieux serait de rajouter un champ pays dans ta table, puis de faire un script qui va récupérer pour chaque n-uplet la latitude et la longitude pour demander à l'API Google où cela se situe et mettre à jour en fonction ton champ pays.

Re: Problème localisation

Posté : 04 mai 2012, 14:02
par Aoigami
Bonjour, je n'ai pas le droit de toucher à la BDD ;)
On ne peut pas grâce aux champs street 1, street 2 et city (qui correspondent bien évidement à l'adresse 1, l'adresse 2 et la ville, trouver le pays ?

Re: Problème localisation

Posté : 04 mai 2012, 14:34
par Mazarini
La même ville peut être dans plusieurs pays : Paris, Texas au hasard.

J'ai jeté un oeil sur les api google, mais je n'ai pas trouvé de liste de fonction simple à lire, plutôt de la pub pour de l'affichage de carte.

Re: Problème localisation

Posté : 04 mai 2012, 14:42
par Aoigami
Donc ... Je prends un exemple :
Je cherche l'adresse "Taratata" dans la ville de Paris pour obtenir la latitude et la longitude ...
J'obtiens la latitude et la longitude (OUAIS SUPER ;))
Bon ensuite j'ai des contraintes SQL (que je peux donner pour montrer) :
SELECT user.company, login, site.street1, site.street2, site.postal_code, site.city, site.latitude, site.longitude FROM user, site WHERE (site.street1 = user.street1) && (site.latitude<='4,1'|| site.latitude>='51,3' || site.longitude<='-5' || site.longitude>='8,1' || site.latitude IS NULL && site.longitude IS NULL )"
Bon voilà j'ai mes coordonnées et je vais afficher que ceux qui sont en France
Mais cela peux ne marcher qu'une fois sur deux aussi ...
Parce que si je cherche une adresse dans Paris ... Il peut me trouver l'adresse au Texas (comme tu me l'as dit ;))
Je fais comment alors ? :(

Re: Problème localisation

Posté : 04 mai 2012, 15:03
par xTG
Le webservice renvoie toutes les occurences trouvées.
Donc tu auras celle de Paris et celle du Texas dans le retour.

Re: Problème localisation

Posté : 04 mai 2012, 15:09
par Aoigami
Eh ben ... Tant pis je crois :/
Je vais essayer de le faire comme ça :)
J'ai oublié de préciser que j'ai également le code postal mais bon on le voit dans le SQL ;)
Sinon j'ai vu que grâce à l'api google map on pouvait trouver les coordonnées de l'adresse mais je ne trouve pas comment faire sans avoir de cartes je veux juste récupérer les données dans un array avec les coordonnées et l'adresse et vérifier grâce au reverse geocode que ça se trouve bien en France ...
Ca fait 1 semaine que je bloque dessus :oops: :cry:

Re: Problème localisation

Posté : 04 mai 2012, 16:26
par xTG
Tu peux demander à geoportail sinon, il peuvent te fournir un webservice qui ne travaille que sur la France.
Bon après c'est pas gratuit. ;)

Mais sinon avec Google API vu qu'il te renvoie plusieurs résultats de par le monde, le code postal ou le pays est aussi dans la réponse.
Donc t'as juste à éliminer les retours qui t'intéressent pas.

Re: Problème localisation

Posté : 04 mai 2012, 16:37
par Aoigami
Ouais au pire je peux faire comme ça ;)
Mais je trouve pas vraiment le code à écrire pour ça :S
Suis pas très doué en PHP :(

EDIT : Non en fait j'ai trouvé un code mais avec l'api v2 qui nécessite une clé alors que la v3 non