2009-02-06 6 views
2

Je travaille actuellement sur un projet où les utilisateurs doivent pouvoir entrer des données géologiques (comme un certain nom de rue) dans un site Web qui sera mis dans une base de données puis récupéré et affiché sur un Carte Google pour tous les utilisateurs à voir. J'ai fait quelques recherches et jusqu'à présent, il semble que la meilleure façon d'y parvenir est d'utiliser un script php pour obtenir des données et les envoyer à une base de données mySQL où elles peuvent être récupérées par un autre script php et puis passé en javascript pour afficher sur la carte. D'un point de vue global, est-ce la meilleure façon de faire les choses?Google maps api interaction avec la base de données

Merci d'avance!

Répondre

4

On dirait que votre problème a quelques étapes distinctes:

  1. Inscrivez-vous pour une clé API Google Maps.

  2. Ecrire quelque chose qui permet l'entrée d'utilisateur l'adresse et l'enregistrer dans la base de données.

  3. Le même script doit convertir l'adresse en coordonnées à l'aide du géocodage. Le résultat devrait (doit) être enregistré dans la base de données puisque Google n'acceptera que des requêtes de 15k Geocode par IP par jour. Puisque vous sauvegarderez les résultats, cela ne sera un problème que si vous ajoutez plus de 15k éléments à votre carte en un jour.

  4. Écrivez le script qui génère la carte. Il peut y avoir quelques appels d'API Google sympa, sinon vous devrez faire un peu de travail vous-même. Cachez la carte avec un horodatage afin de pouvoir économiser du temps processeur.

  5. Créer une interface qui affiche la carte, intégrer à l'étape 2a, et appeler l'étape 3.

+0

On dirait que je suis sur la bonne voie, merci pour l'aide. – fauxCoder

+0

J'espère que ça va bien pour vous, si vous êtes coincé, je pourrais être intéressé à donner un peu plus d'aide avec. Vous avez un projet intéressant. Mon site Web (dans le profil) a des informations de contact. – Phil

1

@ réponse de Phil est bon. Voici quelques-unes de mes additions:

Google géocodage ne doit pas être fait côté serveur. La limite de 15k compte contre le client ip pas le serveur IP. S'il a fait, un client malveillant unique pourrait utiliser la limite du site hôte et efficacement DOS les fonctionnalités de géocodage du site.

http://code.google.com/support/bin/answer.py?answer=93464&topic=12266

L'une des raisons pour effectuer le côté serveur géocodage avant d'enregistrer le résultat db est-il peut le rendre plus facile de valider l'entrée de l'utilisateur pour vous assurer que l'adresse qu'ils entrent est, en fait, géocodables. Dans ce cas, vous êtes soumis à une limite d'hôte de requête de 15 Ko. Si vous mettez le code de validation sur le client, vous étendez la demande à tous les clients.

Il existe quelques astucieux appels API Google.Un coup d'oeil rapide à travers la documentation révélera un processus simple de:

  • Fetch l'adresse de la db
  • géocodage dans un GPoint
  • la carte sur la GPoint
  • Et peut-être déposer un marqueur sur le GPoint

Ces types de choses sont couverts dans les docs assez complètement.

http://code.google.com/apis/maps/documentation/examples/

En outre, pour répondre directement à votre question. Oui, on dirait que vous êtes sur la bonne voie.

Questions connexes