1. 程式人生 > >Android根據已知的經緯度座標獲取當前位置

Android根據已知的經緯度座標獲取當前位置

例如:經度:10.123456   緯度:20.654321

根據以上座標獲取到實際位置(不借用百度地圖或高德地圖的API)

程式碼如下:

//放入經緯度就可以了
public String getAddress(double latitude, double longitude) {
        Geocoder geocoder = new Geocoder(this, Locale.getDefault());
 
        try {
            List<Address> addresses = geocoder.getFromLocation(latitude,
                    longitude, 1);
            if (addresses.size() > 0) {
                Address address = addresses.get(0);
                String data = address.toString();
                int startCity = data.indexOf("1:\"") + "1:\"".length();
                int endCity = data.indexOf("\"", startCity);
                String city = data.substring(startCity, endCity);
 
                int startPlace = data.indexOf("feature=") + "feature=".length();
                int endplace = data.indexOf(",", startPlace);
                String place = data.substring(startPlace, endplace);
                return city + place ;
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "獲取失敗";
    }