2011-08-31 50 views

回答

2

20是不幸的。你可以做的是做幾個不同半徑的請求,併合並/結合在一起。

2

你可以寫做得到60個結果(20頁)在時間的方法,但是會出現在得到所有結果的延遲 -

public PlacesList search(double latitude, double longitude, double radius, String types) 
      throws Exception { 

     try { 

      HttpRequestFactory httpRequestFactory = createRequestFactory(HTTP_TRANSPORT); 
      HttpRequest request = httpRequestFactory 
        .buildGetRequest(new GenericUrl("https://maps.googleapis.com/maps/api/place/search/json?")); 
      request.getUrl().put("key", YOUR_API_KEY); 
      request.getUrl().put("location", latitude + "," + longitude); 
      request.getUrl().put("radius", radius); 
      request.getUrl().put("sensor", "false"); 
      request.getUrl().put("types", types); 

      PlacesList list = request.execute().parseAs(PlacesList.class); 

      if(list.next_page_token!=null || list.next_page_token!=""){ 
       Thread.sleep(4000); 
         /*Since the token can be used after a short time it has been generated*/ 
       request.getUrl().put("pagetoken",list.next_page_token); 
       PlacesList temp = request.execute().parseAs(PlacesList.class); 
       list.results.addAll(temp.results); 

      } 
      return list; 

     } catch (HttpResponseException e) { 
      return null; 
     } 

    }