Question

  1. Donc, voici la question ... J'ai un champ où les utilisateurs peuvent saisir leur adresse (qui sera géocodées via l'API Google Maps).
  2. J'ai plusieurs adresses de widgets dans ma base de données (enregistrée en tant qu'adresse .. nouveau peut facilement être géocodées).

Ce que je dois est pour l'utilisateur de saisir leur adresse et pour obtenir une liste de mes widgets à venir sur la base distance de leur adresse. J'ai des milliers d'adresses pour mes widgets et les utilisateurs ont un nombre infini d'adresses évidemment.

Toutes les idées?

Merci.

Était-ce utile?

La solution

SELECT latitude, longitude, SQRT( POW( 69.1 * ( latitude - 52.58 ) , 2 ) + 
POW( 69.1 * ( - 1.12 - longitude ) * COS( latitude / 57.3 ) , 2 ) ) AS distance 
FROM location ORDER BY distance

Cliquez ici Ils fournissent plusieurs façons de calculer la distance - choisir ce qui fonctionne le mieux pour vous

.

Autres conseils

Si vous stockez les éléments dans une base de données MySQL, puis est ici la base de ce que vous avez besoin

Vous ne pouvez vraiment pas utiliser Google pour calculer votre filtrage géographique à distance. Pour ce faire, vous devez envoyer vos données, faites-les stocker, et interroger pour vous. Ils peuvent offrir ce service, maintenant ou dans l'avenir, mais je n'ai pas entendu parler.

Pour de plus juridique, plus capable, plus cher:

A / As à points ou lieux d'intérêt sont entrés par les clients de votre site, recueillir les géo coordiniates. Ensuite, utilisez votre propre moteur de recherche et par distance d'un point. Peut constituer une violation de l'accord avec Google, mais ils mentionnent des résultats de mise en cache « » pour prendre la charge de leurs serveurs. (La raison est mon avis personnel.)

B / utiliser Google pour faire géocodage en vrac, peut-être un à la fois, à un maximum de 5000 par jour et par votre adresse IP du dernier site que j'ai vu. Même pas sûr si ce n'est pas une violation de l'accord d'utilisation.

C / Acheter un contrat avec un service de géocodage et de stocker ce qu'ils géocodage pour vous.

D / Achat d'une bibliothèque de géocodage et de faire votre propre géocodage.

Ce billet de blog, "Calculer Distance en utilisant l'API Google Maps ", peut être d'une certaine aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top