你可以使用这种方式。
ProgressDialog dialog=null;
@Override
public void onClick(View v) {
dialog = ProgressDialog.show(context, "", "Please! Wait...", true);
GetCurrentAddress result = new GetCurrentAddress();
result.execute("");
}
// getting address task
private class GetCurrentAddress extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
String responseText = null;
String googleurl = "http://maps.google.com/maps/geo?";
String latitude="38.89";
String longitude ="-77.03";
StringBuilder sbuilder=new StringBuilder();
sbuilder.append(googleurl);
sbuilder.append("q="+latitude+","+longitude);
sbuilder.append("&output=responseText&sensor=true");
String url=sbuilder.toString();
try {
DefaultHttpClient httpclient=new DefaultHttpClient();
HttpPost httppost=new HttpPost(url);
HttpResponse httpresponse=httpclient.execute(httppost);
HttpEntity httpentity=httpresponse.getEntity();
InputStream is=httpentity.getContent();
BufferedReader reader=new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb=new StringBuilder();
String line=null;
while((line=reader.readLine())!=null)
{
sb.append(line+"\n");
}
is.close();
responseText=sb.toString();
}
catch(ClientProtocolException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
return responseText;
}
@Override
protected void onPostExecute(String resultString) {
dialog.dismiss();
String response= resultString;
if (responseText != null) {
Log.v(TAG, "json response is:" + response);
try {
jObj = new JSONObject(response);
jsonarray = jObj.getJSONArray("Placemark");
for (int i = 0; i < jsonarray.length(); i++) {
JSONObject innerJsonobject = jsonarray.getJSONObject(i);
String jsonaddress = innerJsonobject
.getString("address");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}