2011-07-03 1 views
0

私の近くの写真をhttp://panoramio.comから手に入れようとしています。 緯度と経度が正の場合は動作しますが、いずれかが負の場合は結果がわかりません。 コードに何が間違っていますか?panoramio.comの写真を私のところに届ける

String getPanoramioUrl(double minx, double maxx, double miny, double maxy){ 
    //set=full or = public? 
    return "http://www.panoramio.com" + 
      "/map/get_panoramas.php?" + 
      "set=public&from=0&to=100&minx="+minx+"&miny="+miny+"&maxx="+maxx+"&maxy="+maxy; 
} 

  lat = loc.getLatitude(); 
      lon = loc.getLongitude(); 

      //lat = -74.005973; 
      //lon = 40.714353; 

      double diff = 0.002; 
      JSONObject json; 
      int retries = 0; 
      while (true){ 
       if (retries > 10){ 
        Log.d(TAG, "giving up after 10 retries to get photo"); 
        return; 
       } 

       String url = getPanoramioUrl(
         lon>0 ? lon-diff : lon+diff, 
         lon>0 ? lon+diff : lon-diff, 
         lat>0 ? lat-diff : lat+diff, 
         lat>0 ? lat+diff : lat-diff); 
       Log.d(TAG, "getting url: " + url); 
       json = getJSONfromURL(url); 
       int count; 
       Log.d(TAG, "got response: " + json.toString()); 
       try{ 
        count = json.getJSONArray("photos").length(); 
       }catch(JSONException exc){ 
        Log.d(TAG, exc.toString()); 
        return; 
       } 
       if (count > 0){ 
        break; 
       } 
       diff = diff*3; 
       retries++; 
      } 

答えて

0

diffは常に正であるので、(LAT + DIFF LON-diffを、LON + DIFF、LAT-差分) 文字列のURL = getPanoramioUrl。

+0

latが負の場合、広告は表示されません... – nomoral

関連する問題