I have seen numerous examples of getting location name from Geocoder and then get addresses by getFromLocation() but how can I get geoPoint for a location by name. User enters a city name and I turn them into a geopoint and show on map. Is there a way in Android or google API's.
I dont mean current location but any location by giving its name. Basically I want it to allow user to get weather update for remote cities.I am able to do so for current location by getting current locality.
Try this, you'd better run it in a separately thread rather than UI-thread. You can both get Address
and GeoPoint
by this method.
public static Address searchLocationByName(Context context, String locationName){
Geocoder geoCoder = new Geocoder(context, Locale.getDefault());
GeoPoint gp = null;
Address ad = null;
try {
List<Address> addresses = geoCoder.getFromLocationName(locationName, 1);
for(Address address : addresses){
gp = new GeoPoint((int)(address.getLatitude() * 1E6), (int)(address.getLongitude() * 1E6));
address.getAddressLine(1);
ad = address;
}
} catch (IOException e) {
e.printStackTrace();
}
return ad;
}
use the below url to get lat and long from the address through reverse geo coding::
http://maps.googleapis.com/maps/api/geocode/json?address=hyderabad&sensor=false
or
http://maps.googleapis.com/maps/api/geocode/xml?address=hyderabad&sensor=true
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