2010-07-16 7 views
2

il y a une limite de 2400 demandes de géocodage pour google service. même si chaque requête est mise en cache et non dupliquée, il est possible de dépasser cette limite si la demande est faite à partir d'une application rails.google limite de géocodage

à court d'acheter le paquet premium (dont je ne connais pas le coût de), que peut-on faire d'autre?

grâce

Répondre

2

Je fais tout mon géocodage des serveurs d'applications utilisant geokit. Cela me permet une sauvegarde des cartes yahoo en utilisant leur multigeocoder. De cette façon, si l'un échoue, l'autre réussit. Geokit fournit également une interface identique aux deux services, vous n'avez donc besoin de coder que sur la couche d'abstraction. La limite de Google est par serveur et par jour, donc si vous avez plusieurs serveurs d'applications, vous pouvez répartir la charge pour augmenter votre limite. Les limites de Yahoo sont 5000/serveur/jour.

Espérons que cela aide, bonne chance!

+0

http://code.google.com/apis/maps/faq.html#geocoder_limit, ici il est dit 2500 – badnaam

+0

wow, je ne sais pas quand c'est arrivé! J'ai mis à jour mon message. –

+0

J'utilisais MultiGeocoder et atteignais toujours la limite. Je suppose que je travaille de la maison pour le reste de la journée ... – Chris

0

Voici ce que j'ai fait: 1. Essayez d'utiliser la fonctionnalité de localisation du navigateur. 2. Si cela échoue, utilisez Google Gears (Je ne pense pas qu'il consomme google limite) 3. Si cela échoue utilisez Google Maps API 4. Si cela échoue (limite dépassée), géolocaliser basé sur l'utilisateur IP et base de données maxmind (libre)

la source ici peut être une aide: gvkalra.appspot.com/reachme

+0

Fonctionnalité de localisation du navigateur, pouvez-vous s'il vous plaît expliquer? – badnaam

+0

@badnaam: s'il vous plaît se référer ici: http://www.w3.org/TR/geolocation-API/ –

3

Je crois que si vous géocodez du côté client que vous n'aurez pas de problèmes avec les limites de géocodage. Les appels à google.maps.Geocoder() et à google.loader.ClientLocation() comptent tous deux par rapport à l'adresse IP de l'ordinateur client plutôt qu'à l'adresse IP de votre serveur. Si vous en avez besoin du côté du serveur, j'appuie la suggestion de Geoff d'utiliser le multigeocoder de Geokit.

+1

pouvez-vous me diriger vers une source de ressources ou partager des détails sur la façon de géocoder le côté client? Par exemple, dans mon application rails, je suis trynig pour géocoder des messages près d'un code postal, comment le feriez-vous à partir du navigateur? – badnaam

+1

Voici un exemple. Désolé pour le formatage. var géocoder = new google.maps.Geocoder(); geocoder.geocode ({'adresse': '123 Spadina St Toronto Canada'}, fonction (résultats, statut) {if (état == google.maps.GeocoderStatus.OK) {alerte (résultats [0] .geometry.location)}}) Il y a aussi plus d'informations dans les documents api: http://code.google.com/apis/maps/documentation/javascript/reference.html#Geocoder Je n'ai pas fait d'inversion géocodage encore mais c'est probablement la même chose. google.loader.ClientLocation() ne fonctionne pas encore avec les cartes v3 (je ne sais pas pourquoi, mais je suis sûr qu'il le sera bientôt.) – mikewilliamson

+0

Vous pouvez insérer cet exemple de code dans firebug sur une page qui a google maps et cela devrait fonctionner pour Cela pourrait ne pas être ce dont vous avez besoin si vous avez seulement un code postal avec lequel travailler. Dans les deux cas cela devrait vous donner un point de départ Geokit peut faire des choses comme Posts.find (: all,: origin => [- 44.4419 , 170.1419],: within => 200) une fois que vous avez un latlng en tant que point de départ du côté du client, lisez aussi l'objet latlngbounds.com/apis/maps/documentation/javascript/reference.html # LatLngBounds Ce sont les pièces dont je pense que vous auriez besoin. – mikewilliamson

0

Vous pouvez utiliser les tables de fusion Google pour géocoder vos données. Les limites sont assez élevées là-bas.

+0

pouvez-vous expliquer un peu comment faire cela avec Rails? Y a-t-il une gemme? – danieldekay

Questions connexes