-2

重複の可能性:
Android - 経度と緯度で高度を取得しますか?

緯度と経度から特定の場所の高度が必要です。どんな助けでも大歓迎です。

4

2 に答える 2

2

緯度/経度から高度を取得するためのアプリケーションで、以下の方法を試しました。それがあなたを助けるならば、あなたはそれを試すことができます。

private double getAltitudeFromLatLong(Double lat, Double long) {
    double result = 0.0;
    HttpClient httpClient = new DefaultHttpClient();
    HttpContext Context = new BasicHttpContext();
    String URL = "http://gisdata.usgs.gov/"
            + "xmlwebservices2/elevation_service.asmx/"
            + "getElevation?X_Value=" + String.valueOf(long)
            + "&Y_Value=" + String.valueOf(lat)
            + "&Elevation_Units=METERS&Source_Layer=-1&Elevation_Only=true";
    HttpGet httpGet = new HttpGet(URL);
    try {
        HttpResponse response = httpClient.execute(httpGet, Context);
        HttpEntity entity = response.getEntity();
        if (entity != null) {
            InputStream instream = entity.getContent();
            int r = -1;
            StringBuffer respStr = new StringBuffer();
            while ((r = instream.read()) != -1)
                respStr.append((char) r);
            String tag1 = "<double>";
            String tag2 = "</double>";
            if (respStr.indexOf(tag1) != -1) {
                int start = respStr.indexOf(tag1) + tag1.length();
                int end = respStr.indexOf(tag2);
                String value = respStr.substring(start, end);
                result = Double.parseDouble(value);
            }
            instream.close();
        }
    } 
    catch (Exception e) {}
    return result;
}
于 2013-01-10T10:29:06.510 に答える
0

GPS Recever を備えた Android デバイスを使用している場合は、標高によって高度を取得できるメソッド getAltitude() があります。この回答を見ることができます

ありがとう

于 2013-01-10T10:27:52.437 に答える