2009-03-19 5 views
0

Google Maps a une fonction qui vous permet de récupérer la distance entre deux points: getDistance(), de la classe GDirections. Maintenant, ceci est Javascript, ainsi il pourra seulement calculer une fois que la page a chargée. Cependant, mon formulaire de recherche a la capacité d'indiquer quelle est la distance maximale que vous voulez entre vous et une autre personne et, sur cette base, une liste de résultats de recherche doit être fournie.google Maps getDistance sans charger la page

Puisque je ne peux pas utiliser cette fonction en PHP, y a-t-il un autre moyen pour moi de calculer la distance entre 2 points sur la terre? En abandonnant la rue, le code postal et le nom de la ville, tout comme ce dont Google Maps a besoin.

Répondre

1

Cette page contient une liste de paramètres google maps à utiliser dans la connexion http. En spécifiant le paramètre de sortie, vous pouvez choisir de redonner des fichiers kml ou similaires et peut être utilisé dans n'importe quelle langue pouvant établir des connexions http.

+0

bien, mais quelles fonctions PHP et/ou classes puis-je utiliser en combinaison avec cela? – Vordreller

1

On dirait que vous voulez calculer un Great Circle Distance

formules ont été discutées here on stackoverflow avant.

Un point sur la terre est défini par sa latitude et sa longitude. Si vous voulez calculer la distance entre 2 points sur terre en abandonnant la rue, le code postal et le nom de la ville, vous aurez besoin de données géoréférencées.

Ces données sont disponibles gratuitement sur Internet, mais l'exactitude et la disponibilité diffèrent grandement d'une région à l'autre. (Données États-Unis est de bonne qualité, les données pour Kenia par exemple seront plus difficiles à trouver)

Pour répondre à votre question:
Oui, il y a d'autres façons de calculer ce que vous voulez. Mais ils nécessitent plus de travail/sont plus complexes que de simplement interroger l'API google.
Vous voudrez peut-être lire: Creating a Store Locator with PHP, MySQL & Google Maps

Espérons que cela vous dirige dans la bonne direction.

+0

Je viens de finir de lire, et je pense que cela résout mon problème, mais je ne suis pas sûr. Ce que je préférerais, c'est que ma page PHP puisse d'une manière ou d'une autre contacter les serveurs google maps, un point de départ et un tas de points de terminaison, puis me rendre les distances. Basé sur cela, je peux remplir un résultat de recherche – Vordreller

+0

Je pense que c'est une réponse utile, vous pourriez aussi bien voter. – Jacco

0

Vous pouvez utiliser le fichier kml. C'est le fichier au format xml que vous pouvez recevoir par lien comme http://maps.google.com/maps?f=d&hl=en&saddr=<src latitude>,<src longitude>&daddr=<dist latitude>,<dist longitude>&ie=UTF8&0&om=0&output=kml dans le fichier reçu, vous pouvez analyser et additionner les distances de