My project runs on J2ME and requires me to get the user current street address. I am able to get the user coordinates using location based. But how do i go about getting the street address??
I know google map does the reverse geocoding. But how can i link that to my application?? And will there be any legal issues too??
Any guidance will be greatly appreciated. Thanks!!!
Kevin
Java ME does actually standardize native reverse geocoding as part of JSR 293 Location API 2.0: http://www.j2megame.org/j2meapi/JSR_293_Location_API_2_0/index.html?javax/microedition/location/services/GeocodingServiceProvider.html
Section "4.2.2. Geocoding" in the below paper describes reverse geoding using Location API 2.0 in Java ME: http://www.locationaware.usf.edu/wp-content/uploads/2011/09/Barbeau-Location-API-2.0-for-J2ME-COMCOM3573.pdf
However, currently JSR 293 is not widely implemented in commercially-available Java ME mobile phones, at least those available in the U.S. Instead, most phones still implement JSR179 Location API 1.0.
There are legal issues with using Google Maps within J2ME apps. The Google Maps API can only be used from within a browser.
See 10.8 on this page: http://code.google.com/apis/maps/terms.html
Google Maps also has a limit on the number of unique maps you can download per ip address. Usually it would be good enough for any PC-based app. However, on mobile devices many devices will go via a proxy web service such that many devices have the same IP address. Because of that the limit is reached very quickly.
Yahoo Maps has no such restrictions in it's T&Cs and a much higher limit per ip address. They also flag certain ip address as proxy servers so they don't count towards the limits. We've used this commercially.
As for reverse GeoCoding, there is the GeoNames webservice, though I've not personally used it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With