private void updateUI() {
new getAddressFromJson()
.execute("http://maps.googleapis.com/maps/api/geocode/json?latlng="
+ lat + "," + lng + "&sensor=true&language=ko");
}
private class getAddressFromJson extends AsyncTask<String, String, String> {
protected void onPreExecute() {
}
@Override
protected String doInBackground(String... urls) {
HttpClient httpclient = new DefaultHttpClient();
StringBuilder builder = new StringBuilder();
HttpPost httppost = new HttpPost(urls[0]);
try {
HttpResponse response = httpclient.execute(httppost);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(
new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return builder.toString();
}
protected void onPostExecute(String result) {
Log.e("result", "result : " + result);
try {
JSONObject jsonObj = new JSONObject(result);
JSONArray resultArry = jsonObj.getJSONArray("results");
String Address = resultArry.getJSONObject(0)
.getString("formatted_address").toString();
Log.e("Address", "Address : " + Address);
for (int i = 0; i < 1; i++) {
JSONObject jo = resultArry.getJSONObject(i);
JSONArray jaa = jo.getJSONArray("address_components");
for (int j = 0; j < jaa.length(); j++) {
JSONObject jotwo = jaa.getJSONObject(j);
String strAddress = jotwo.getString("long_name");
System.out.println(" " + strAddress);
}
}
} catch (Exception e) {
Log.e("getAddressFromJson pasing error", e.getMessage());
}
}
}
안녕하세요 구글 api를 이용해서 좌표를 주소로 변환하고 싶은데요..
위 소스코딩을 했는데 wifi가 켜져있을때는 정상으로 작동으로 하는데 wifi가 꺼져있고 lte와 gps만 켜져있을 경우에는
You have exceeded your daily request quota for this API......라고 오류메세지가 뜨더라구요
그런데 다시 wifi켜고 실행하면 정상작동 되구요.
구글 api 역지오코딩 시 wifi필수인가요?