2012-01-11 21 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