Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Geocoder getFromLocationName is not finding address

Geocoder getFromLocationName is not returning anything if I'm searching for business places. Here are my finding so far:

  • grocery places, commercial buildings -> no result
  • schools -> finding results, but only returning Latitude and Longitude. I have to do reverse geocoding in order to get the address based on the coordinates, but the address wouldn't be accurate.
  • complete address -> same as school, only returning Latitude and Longitude
  • hospital and pharmacy -> returning Latitude and Longitude

I've tested this on 1.6, 2.1 and 2.2 devices that has Google Maps.

I'm trying to find if there's a limitation explained somewhere on the SDK, but there is none except:

The amount of detail in a reverse geocoded location description may vary, for example one might contain the full street address of the closest building, while another might contain only a city name and postal code. The Geocoder class requires a backend service that is not included in the core android framework. The Geocoder query methods will return an empty list if there no backend service in the platform (http://developer.android.com/reference/android/location/Geocoder.html)

[update] So after nights of research, I can't seems to make it work - Google simply wont give me the result. Some discussion on android-developers points a fact that getFromBusinessName was omitted when Google Navigation came out. So I'm starting to assume that Google is pulling back some of their geocoding service.

I can always create a webpage that use Google Geocoder API, but its limited to 2500 api call - and I dont think it will be legal (lol). So what are my alternatives here?

like image 253
LawrenceGS Avatar asked Jul 20 '10 02:07

LawrenceGS


2 Answers

I've hit the same problem. I'm finding that the geocoding API often returns no results if I include the business/venue name, but by missing it off, the lat/long can be much less accurate.

I've implemented a pragmatic solution: 1. Call the API with a string including the business/venue name 2. If it fails, call it a second time without the business/venue name, just the address

I've yet to see a case where no location is returned, so it seems a decent compromise as it means I do at least get location data, if sometimes less accurate, and the cost of a second API call is mitigated with threaded calls.

like image 125
Ollie C Avatar answered Sep 23 '22 22:09

Ollie C


I couldn't find the button to reply but, like you all, I have just run into the same problem. I haven't tried it yet but it sounds pretty solid. A potential workaround is located here:

Using Google Maps API to get Address of Business

Happy coding :)

Edit: Forget that link and check this one out: http://code.google.com/apis/maps/documentation/places/

like image 33
tricknology Avatar answered Sep 21 '22 22:09

tricknology