4
我已經試過這種方法來獲得海拔高度,使用經度和緯度谷歌地圖Elevation API時錯誤值
private double lookingForAltitude(double latitude, double longitude) {
double result = Double.NaN;
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
String url = "http://maps.googleapis.com/maps/api/elevation/"
+ "xml?locations=" + String.valueOf(longitude)
+ "," + String.valueOf(latitude)
+ "&sensor=true";
HttpGet httpGet = new HttpGet(url);
try {
HttpResponse response = httpClient.execute(httpGet, localContext);
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream instream = entity.getContent();
int r = -1;
while ((r = instream.read()) != -1)
respStr.append((char) r);
String tagOpen = "<elevation>";
String tagClose = "</elevation>";
if (respStr.indexOf(tagOpen) != -1) {
int start = respStr.indexOf(tagOpen) + tagOpen.length();
int end = respStr.indexOf(tagClose);
String value = respStr.substring(start, end);
result = (double)(Double.parseDouble(value));
}
instream.close();
}
} catch (ClientProtocolException e) {}
catch (IOException e) {}
return result;
}
遺憾的是沒有工作
傳遞例如
double latitude = 48.856908
double longitude = 2.352426
街de Tivoli Paris法國
得到-3997.6191406
問題是怎麼回事?
我在別人的地方也弄錯了價值。
PS
我聽說這個功能的請求限制是2500 這是關係到每一個IP或者是所有使用我的證書應用的最大金額是多少?