2009-05-09 16 views
22

Google offre un'API RESTful in cui posso passargli il nome di una città (o zip) e restituisce la longitudine & latitudine.API di geocoding di Google (città => lunga, lat)

so come fare questo con utilizzando l'API di Google Maps, ma davvero non voglio avere i miei utenti di scaricare l'enorme 200k API di Google Maps solo modo che io possa geocoding una posizione.

Qualcuno sa di un URL di latitudine (REST) ​​città/zip a longitudine & latitudine?

Dal momento che la geocodifica di queste informazioni avvia molti altri processi, fare questo primo passo è di fondamentale importanza per eseguirlo rapidamente b/c è un collo di bottiglia in questo momento utilizzando l'API di Google Maps b/c dell'enorme download e JavaScript caricare.

+0

Fintanto che l'ho sottolineato già oggi - nota che sei tecnicamente [non autorizzato] (http://code.google.com/apis/maps/terms.html# section_10_12) per utilizzare il geocoder di Google, a meno che tu non sia displ aying i dati su una mappa di Google. Lo stesso vale per Yahoo. Non so se effettivamente controlleranno te, comunque. –

+0

@ChrisB: questo non è più il caso per Yahoo. –

+0

In realtà la licenza di PlaceFinder di Yahoo indica che non è possibile memorizzare la geocodifica o altri dati dall'API per uso futuro. –

risposta

0

Ricorda inoltre che probabilmente eseguirai le quote per il giorno se il traffico è intenso utilizzando il metodo di chiamata HTTP diretto. Google limita l'utilizzo in base all'indirizzo IP, quindi l'utilizzo del codice lato client aumenterà notevolmente il numero di ricerche geografiche che è possibile eseguire ogni giorno poiché saranno associate ai computer degli utenti anziché ai server.

+0

L'API Premier non ha limiti per il numero di ricerche Geocode. –

+2

@Luke: l'utente di Google Maps API Premier può eseguire fino a 100.000 richieste al giorno. http://code.google.com/apis/maps/documentation/geocoding/#Limits –

+0

@Shree - I stand correct =) Non sono sicuro se ci fosse un limite quando ho guardato però ... (ci sono prob era, e io appena perso) –

5

Yahoo PlaceFinder è un nuovo servizio offerto da Yahoo! che fornisce servizi per convertire gli indirizzi (compresi i nomi di città) in coppie di latitudine/longitudine. Il servizio è anche in grado di fare il contrario (conversione delle coordinate in un indirizzo).

A differenza di Google Geocoding API, i TOS per Yahoo PlaceFinder non vietano l'utilizzo dei dati al di fuori dell'API delle mappe.

+1

Attualmente, Yahoo richiede che se si fanno più di 10K richieste/giorno li contatti. – mooreds

+0

Questo è stato arrestato e ora è geoboss. Non sono sicuro se puoi ottenere questo servizio senza pagare però. – Jesse

+0

Regole di archiviazione Geoboss: b: Non è necessario: vi. memorizzare i risultati (ad es. immagini di mappe, dati di mappe o informazioni sulla posizione geocodificate) dal Servizio, tranne (a) per la memorizzazione temporanea dei risultati nella cache per migliorare le prestazioni della propria offerta, ma solo per il tempo ragionevolmente necessario; o (b) per supportare una funzione di core business della propria offerta.Non è possibile utilizzare queste eccezioni se si memorizzano o si memorizzano nella cache i risultati per lo scopo o l'effetto di evitare, ridurre o distorcere il numero di query effettuate o le commissioni di query dovute a Yahoo. –

-2
$.get("http://ipinfo.io", function(response) { 
    console.log(response.city, response.country); 
}, "jsonp"); 

Ecco un esempio JSFiddle più dettagliato che stampa anche le informazioni di risposta completa, in modo da poter vedere tutto dei dettagli disponibili: http://jsfiddle.net/zK5FN/2/