MrDoAlot
MrDoAlot

Reputation:

Google geocoding API (City => long, lat)

Does Google offer a RESTful API where I can pass it a city name (or zip) and it returns the longitude & latitude.

I know how to do this with using the Google Maps API, but I really don't want to have my users download the huge 200k Google Maps API solely so that I can geocode a location.

Does anyone know of a URL based (REST) city/zip to longitude & latitude API?

Since geocoding this information then kicks off multiple other processes, doing this first step is of critical importance to have it perform quickly b/c its a bottleneck right now using the Google Maps API b/c of the huge download and JavaScript loadup.

Upvotes: 22

Views: 44192

Answers (4)

Mo.
Mo.

Reputation: 27533

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

Here's a more detailed JSFiddle example that also prints out the full response information, so you can see all of the available details: http://jsfiddle.net/zK5FN/2/

Upvotes: -3

redben
redben

Reputation: 5696

You could use geonames.org web sevices (or download the server)

http://www.geonames.org/export/reverse-geocoding.html

Upvotes: 5

Nathan Osman
Nathan Osman

Reputation: 73305

Yahoo PlaceFinder is a new service offered by Yahoo! that provides services for converting addresses (including city names) into latitude / longitude pairs. The service is also capable of doing the opposite (converting coordinates into an address).

Unlike Google's Geocoding API the TOS for Yahoo PlaceFinder do not forbid using the data outside of their maps API.

Upvotes: 5

Kevin Pang
Kevin Pang

Reputation: 41452

Also keep in mind that you will likely run over your quotas for the day if you have heavy traffic using the direct HTTP call method. Google limits usage based on IP address, so using the client side code will greatly increase the number of geocode lookups you can do per day since they'll be associated with user's computers rather than your server(s).

Upvotes: 0

Related Questions