Php 如何使用谷歌地图API通过lat、lng找到最近的城市
我正在尝试使用谷歌地图API获取城市名称,但无法获取。 我已经通过谷歌API获得了Lat,Lng,现在我想在10公里的距离内获得城市名称 我正在使用下面的URL获取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(); 结果:执行(“”);
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("&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();
}
}
}