2011-07-03 1 views
0

J'essaie d'obtenir des photos près de chez moi à partir de http://panoramio.com. Son fonctionnement si la latitude et la longitude est positive, mais si l'un d'entre eux est négatif panoramio ne me donne pas de résultats. Des idées quel est le problème avec le code?Recevez des photos panoramiques près de cet hôtel

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++; 
      } 

Répondre

0

diff est toujours positif, alors url: String = getPanoramioUrl (diff-lon, diff + lon, lat-diff, lat + diff);

+0

ad dont wokrs si lat est négatif ... – nomoral

Questions connexes