Yogesh
Yogesh

Reputation: 1345

Android geopoint from location/locality

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

Answers (3)

user2050747
user2050747

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

Longerian
Longerian

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

Shankar Agarwal
Shankar Agarwal

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

Related Questions