получить фотографии Panoramio.com рядом с моим местоположением - PullRequest
0 голосов
/ 03 июля 2011

Я пытаюсь получить фотографии рядом с моим местоположением от http://panoramio.com. Работает, если широта и долгота положительны, но если один из них отрицательный, Panoramio не дает никаких результатов. Есть идеи, что не так с кодом?

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

1 Ответ

0 голосов
/ 03 июля 2011

разность всегда положительна, поэтому String url = getPanoramioUrl (lon-diff, lon + diff, lat-diff, lat + diff);

...