Php 如何使用谷歌地图API通过lat、lng找到最近的城市

Php 如何使用谷歌地图API通过lat、lng找到最近的城市,php,google-maps,google-maps-api-3,geo,Php,Google Maps,Google Maps Api 3,Geo,我正在尝试使用谷歌地图API获取城市名称,但无法获取。 我已经通过谷歌API获得了Lat,Lng,现在我想在10公里的距离内获得城市名称 我正在使用下面的URL获取Lat,Lng。 “” 你可以试试这个 ProgressDialog=null; @凌驾 公共void onClick(视图v){ dialog=ProgressDialog.show(上下文,“,”请!等待…”,true); GetCurrentAddress结果=新建GetCurrentAddress(); 结果:执行(“”);

我正在尝试使用谷歌地图API获取城市名称,但无法获取。 我已经通过谷歌API获得了Lat,Lng,现在我想在10公里的距离内获得城市名称

我正在使用下面的URL获取
Lat
Lng
。 “”

你可以试试这个
ProgressDialog=null;
@凌驾
公共void onClick(视图v){
dialog=ProgressDialog.show(上下文,“,”请!等待…”,true);
GetCurrentAddress结果=新建GetCurrentAddress();
结果:执行(“”);
}
//获取地址任务
私有类GetCurrentAddress扩展异步任务{
@凌驾
受保护的字符串doInBackground(字符串…URL){
字符串responseText=null;
字符串googleurl=”http://maps.google.com/maps/geo?";
字符串纬度=“38.89”;
字符串经度=“-77.03”;
StringBuilder sbuilder=新StringBuilder();
追加(googleurl);
sbuilder.append(“q=“+纬度+”,“+经度”);
sbuilder.append(“&;output=responseText&;sensor=true”);
字符串url=sbuilder.toString();
试试{
DefaultHttpClient httpclient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(url);
HttpResponse HttpResponse=httpclient.execute(httppost);
HttpEntity HttpEntity=httpresponse.getEntity();
InputStream=httpentity.getContent();
BufferedReader reader=新的BufferedReader(新的InputStreamReader(is,“iso-8859-1”),8;
StringBuilder sb=新的StringBuilder();
字符串行=null;
而((line=reader.readLine())!=null)
{ 
sb.追加(第+行“\n”);
} 
is.close();
responseText=sb.toString();
} 
捕获(客户端协议例外e)
{ 
e、 printStackTrace();
} 
捕获(IOE异常)
{ 
e、 printStackTrace();
}
返回响应文本;
}
@凌驾
受保护的void onPostExecute(字符串resultString){
dialog.dismise();
字符串响应=结果字符串;
if(responseText!=null){
Log.v(标记“json响应为:”+response);
试一试{
jObj=新的JSONObject(响应);
jsonarray=jObj.getJSONArray(“Placemark”);
for(int i=0;i
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=".$lat.",".$long."&radius=10000&type=administrative_area_level_2&key=""
You can try this
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("&amp;output=responseText&amp;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();
                }
            }
        }