I’m trying to make a jQuery $.getJSON call to the Google Maps Geocoding webservice, but this doesn’t work because of cross-domain security issues.
I haven’t been able to figure it out online, but I’ve read a bit about Google Javascript API or JSONP, but so far no clear answer…
Could anyone enlight me?
Thanks!
I can see no advantage in using the Server-side Geocoding Web Service when Google Maps provides a full featured Client-side Geocoding API for JavaScript.
First of all, this automatically solves your same-origin problem, and in addition the request limits would be calculated per client IP address instead of of per server IP address, which can make a huge difference for a popular site.
Here’s a very simple example using the JavaScript Geocoding API v3:
If for some reason you still want to use the server-side web-service, you could set up a very simple reverse proxy, maybe using mod_proxy if you are using Apache. This would allow you to use relative paths for your AJAX requests, while the HTTP server would be acting as a proxy to any “remote” location.
The fundamental configuration directive to set up a reverse proxy in mod_proxy is the ProxyPass. You would typically use it as follows:
In this case, the browser could make a request to
/geocode/output?parametersbut the server would serve this by acting as a proxy tohttp://maps.google.com/maps/api/geocode/output?parameters.