Reputation: 1345
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.
Upvotes: 4
Views: 6524
Reputation: 1
to get Lat and Long co-ordinates from address is geocoding not reverse geocoding. Simple get address convert it using geocode and, once you got the co-ordinates show location on map.
Upvotes: -1
Reputation: 723
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;
}
Upvotes: 8
Reputation: 34775
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
Upvotes: 4