Google maps Restful Webservice - Wrong Location - google-maps

I was testing the Netbeans tutorial about Restful WEbservices Getting Started With Restful Webservices
Everything seems to be working , but the problem is that whatever address i give, the maps always shows the same location.(Near Africa on Equator. Think its the default location). I got an api key from Google as described in the tutorial.
Tried to read the response from firebug. There are no errors, but the response is not easy to understand.
Any suggestions?

I don't know if you've found a solution or not yet, but I ran into the same problem and after looking around a bit, came to the conclusion that the problem lies in the returned value from the geocoding query (look for 'codeStr' in GoogleMapService.java).
The tutorial uses v2 of the Google Geocoding API and this problem is related to Google Maps' depreciation of v2 on the 8th of March 2013. I'll bet you are receiving a 610 code from the Geocoding API instead of the expected response, so the marker is plotted at 0 lat, 0 long.
You can find more information about the change in the GoogleMaps API here, and at the site for the Geocoding API. Hopefully, the creator of the tutorial will update it to get it into a working state again as it is otherwise a good source of information.
Then again, it could be the Netbeans implementation of the RESTful api that has been affected by the depreciation of v2.

Related

Google Maps API error: Google Maps API error: ApiNotActivatedMapError

I am trying to use google maps distance matrix api in my project to get distance between 2 places. I have also enable this api in google developer console. But I am continuously getting error ApiNotActivatedMapError.
I am using sample code provided by google as distance-matrix .
When you use a library or service via the Maps-Javascript-API, and use a key, you only need to activate the Google Maps JavaScript API .
When you get the particular error with the linked example you obviously didn't activate the Google Maps JavaScript API for your project.
Update:
since June 22, 2016 you need also to activate the related API(Webservice) for new applications when you want to use the following features:
geocoding service
directions service
distanceMatrix service
elevation service
places library
Old question.. But.. I had n similar issue recently with a ApiNotActivatedMapError using geocoding but Konerak's comment helped me get to this really nice post.
Basically, you can activate your API's here: https://console.developers.google.com/apis/library
Activating Google Maps JavaScript API along with the already activate Geocoding API solved my problem.
Hope it helps someone in a similar position :)
This link is enabled API https://console.developers.google.com/apis/library. For default emulator and in iOS its disabled, but in this console you can active this API.

Access Denied when attempting to use Google Maps Geocoding Service with a Console API Key

UPDATE: In an effort to give a more clear question. How do I use the Google Console API key with the Google Maps Geocoding Web Service API? At the moment the request comes back as denied, when I specify the key but even though it failed it is logged in the Google Console API site's reports section.
Original Question
I have an existing app that has been modified to start geocoding address at the time they are entered (for use within the app on a Google Map). The volume expected for this is expcted to be within the free offering's limites and does not require a key at this time. However now I have to geocode all of the existing addresses. I have a small windows app (C#) that will loop through them one at a time, request they be geocoded (via https://maps.googleapis.com/maps/api/geocode/json) and store the results in the database. However I keep running into the query limit. To help alleviate this I've setup an account on Google API Console (https://code.google.com/apis/console/) so that I get go over the limit and just be billed for the overages.
The problem is in order to do utilize this billing alternative I have to provide a Console API Key to the request, but every time I do so I get a response back with a status of REQUEST_DENIED.
My URL looks like this
https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&sensor=false&key=123abc
If I take off the key it works fine, but with it on it fails. Now, I have seen other questions similar to this when looking around but can find no answer to the issue.
I've tried various alternate domains including maps.google.com, maps.googleapis.com and maps-api-ssl.google.com all seem to have the same problem from what I can tell.
Here's what I've been able to find out so far:
The service is listed in the Google Console API's site as Google Maps API v3, (there is a separate entry for v2) so I don't think it's a problem with keys no longer being mandatory in v3.
I know the requests are getting through and being correctly logged against this API key because with each failed attempt the request count goes up by one on the Reports tab of the Google APIs Console.
*I know it's not a problem with it not being accessed via a web page because the Console API explicitly lets you generates keys intended for Server/Service use and you can restrict access to them via IP address, not URL Referrer.
*I've also verified the parameter syntax as it's outlined on this page, as are other usage
*These seem to be generic to the Console API system but there is no mention of exceptions to these practices when used for the Google Maps API.
I even tried to contact Google but apparently they don't offer support over the phone (I was hoping to be done with this today but that's not looking likely).
It seems the key is not necessary anymore, since it doesn't increase your limit of free geocodings.
It was a legacy of v2, but geocoding API v2 was fully deprecated last March, 8.
If you need to use more than the free limit, I think you must adquire the Enterprise license.
Regards,
Eduardo.
I ran into this same issue and solved it by enabling the Geocoding API on the Google apis dashboard. Even though I'm using the Google Maps JavaScript API v3, it still required me to enable the Geocoding API as well. Make sure you understand the google's quota limits and billing system before enabling any API access. Hope this helps!
Late to this answer, but just in case anyone else has issue. Billing needs to be setup first and like Dylan said you also have to enable Geocoding API(this got me). At least I did for my locations app that shows multiple store location addresses.

Is the geocoding service changed?

We are using the Google Maps API method getLocations() for geocoding addresses the user supplies. This used to work (up until yesterday) using only street names like "Drottninggatan". But as of today, that method returns error 602 instead of an array of possible matches.
Did Google change anything yesterday, or what else have happened? We've checked our own code and nothing new is deployed since the 7th of April.
EDIT:
We are using v2 for this service, but another where we've upgraded to v3 has the same problem
EDIT2:
I created an issue on Google with this - please star it there if you want the issue to get attention Google Maps Issue
As stated in the comments, Google seem to have resolved this issue.

Google geocoding inaccuracy (in Israel)

I'm trying to use Google Geocoding API, but i keep on getting a very inaccurate answer (off by 3.2 KM).
Here is an example:
http://maps.google.com/maps/api/geocode/json?sensor=true&address=Hava%27ad+Haleumi+21+Jerusalem
I get the coordinate 31.7857,35.2007.
Ff you look up "Hava'ad Haleumi 21 Jerusalem" in maps.google.com, you can see that the location is 3.2KM away from what Google Geocoding API gave me.
Does anyone know why this happens?
Thank you.
Actually, the Google Maps API does not support geocoding in Israel beyond city level, so your solution is to do what you did and finding an alternate geocoding service.
The reason you got the correct location when searching on maps.google.com is because the API uses a different provider than maps.google.com due to licensing issues.
Here is a spreadsheet detailing the coverage area for Google Maps.
It's possible to use waze.co.il instead of google:
Their JSON API is
http://www.waze.co.il/WAS/mozi?q=yourAddress&token=yourToken
(Also, as stated in this thread http://www.waze.co.il/forum/viewtopic.php?f=21&t=6113
reverse geocoding is a paid service.)
Take a look at the response. You are getting a partial match and the location type is approximate. If you look at the veiwport you will probably find that the location you are looking for falls within that viewport. *Edit - Actually it looks like it just matched to city - Jersulem in this case - which is why you are probably off by so far

Google Maps API - Get Coordinates of address

I would like to convert addresses into long/lat.
Is there any way to do this without using JavaScript? Because in my case there is no need to display anything since the conversion is in the background.
What you are looking for is called Geocoding.
Google provides a Geocoding Web Service which should do what you're looking for. You will be able to do geocoding on your server.
JSON Example:
http://maps.google.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA
XML Example:
http://maps.google.com/maps/api/geocode/xml?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA
Edit:
Please note that this is now a deprecated method and you must provide your own Google API key to access this data.
Althugh you asked for Google Maps API, I suggest an open source, working, legal, free and crowdsourced API by Open street maps
https://nominatim.openstreetmap.org/search?q=Mumbai&format=json
Here is the API documentation for reference.
Edit: It looks like there are discrepancies occasionally, at least in terms of postal codes, when compared to the Google Maps API, and the latter seems to be more accurate. This was the case when validating addresses in Canada with the Canada Post search service, however, it might be true for other countries too.
Geocoding through Javascript:
https://developers.google.com/maps/documentation/javascript/geocoding
A Nuget solved my problem:Geocoding.Google 4.0.0.
Install it so not necessary to write extra classes etc.
https://www.nuget.org/packages/Geocoding.Google/