2012-01-11 17 views
0

我已经多次通过解析包含中文地址信息的Google json来获取地址。但是当我在手机中显示地址时,它全部是英文的。如何获得Google地理编码API的回复,使用默认语言(fx.:Chinese)以外的语言?

我从下面的网址获取json。 http://maps.googleapis.com/maps/api/geocode/json?address=wuhan&sensor=false

编辑: 一个答案的帮助下,我用工作液瓦纳份额:

  StringBuffer sb=new StringBuffer(); 
      sb.append("http://maps.googleapis.com/maps/api/geocode/json?latlng=").append(latStr).append(',').append(lonStr).append("&sensor=false&Accept-Language:zh-CN"); 
      String url=sb.toString(); 
      HttpClient httpClient=new DefaultHttpClient(); 

      String responseData=""; 
      try { 
       HttpResponse response=httpClient.execute(new HttpGet(url)); 
       response.addHeader("Accept-Language", "zh-CN"); 
       HttpEntity entity=response.getEntity(); 
       BufferedReader bf=new BufferedReader(new InputStreamReader((entity.getContent()),"UTF-8")); 
       String line=""; 
       while((line=bf.readLine())!=null){ 
        responseData=responseData+line; 
       } 
      } catch (ClientProtocolException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 
+1

哪里是问题吗?哪里是你如何调用它的最小样本(甚至没有android代码,但至少你用哪个参数调用了哪个api) – Selvin 2012-01-11 15:47:05

+0

http://maps.googleapis.com/maps/api/geocode/json?address=wuhan&sensor=false – lanyimo 2012-01-11 15:48:31

+0

这json是我解析。 – lanyimo 2012-01-11 15:49:32

回答

2

只需添加Accept-Language到reaquest因为在默认的谷歌API将在英语 FX: 返回信息Accept-Language: zh-CN

编辑(因为OP在徘徊):

如果你使用java.net.HttpURLConnection connection;然后使用:

connection.setRequestProperty ("Accept-Language", "zh-CN");

如果org.apache.http.client.methods.HttpGet request;则:

request.addHeader("Accept-Language", "zh-CN");

我刚刚测试了它在fiddler2

GET /maps/api/geocode/json?address=wuhan&sensor=false HTTP/1.0 
Host: maps.googleapis.com 
Accept-Language: zh-CN 

我得到

{ 
    "results" : [ 
     { 
     "address_components" : [ 
      { 
       "long_name" : "武汉", 
       "short_name" : "武汉", 
       "types" : [ "locality", "political" ] 
      }, 
      { 
       "long_name" : "湖北省", 
       "short_name" : "湖北省", 
       "types" : [ "administrative_area_level_1", "political" ] 
      }, 
      { 
       "long_name" : "中国", 
       "short_name" : "CN", 
       "types" : [ "country", "political" ] 
      } 
     ], 
     "formatted_address" : "中国湖北省武汉市", 
     "geometry" : { 
      "bounds" : { 
       "northeast" : { 
        "lat" : 31.36126030, 
        "lng" : 115.08257280 
       }, 
       "southwest" : { 
        "lat" : 29.96907670, 
        "lng" : 113.70228110 
       } 
      }, 
      "location" : { 
       "lat" : 30.5930870, 
       "lng" : 114.3053570 
      }, 
      "location_type" : "APPROXIMATE", 
      "viewport" : { 
       "northeast" : { 
        "lat" : 30.78745989999999, 
        "lng" : 114.6189880 
       }, 
       "southwest" : { 
        "lat" : 30.34877210, 
        "lng" : 113.9817810 
       } 
      } 
     }, 
     "types" : [ "locality", "political" ] 
     } 
    ], 
    "status" : "OK" 
} 
+0

add Accept - 语言:zh-CN在url结尾? – lanyimo 2012-01-11 15:54:56

+0

我编辑了我的回复...不要忘记接受它作为一个答案,如果它的工作;) – Selvin 2012-01-11 16:01:50

+0

非常感谢,我在努力。 – lanyimo 2012-01-11 16:06:32