Как мне статически получить текущий LAT & LNG для местоположения Instagram?

1
private static final String CLIENT_ID = "xxxxxxxxxxxxxxxxxxxxxxxxxxx";
private static final String PARAM_NAME_CLIENT_ID = "client_id";
private final int COUNT = 100;
private static final String instagramAPI = "https://api.instagram.com/v1/media/search?";
private static LatLng mLatLng;
private static final String LAT = "lat=";
private static final String LNG = "&lng=";
private static final String distance = "&distance=";
static Location location;
GoogleMap map;
private Context context;
static double latitude;
static double longitude;
public  InstagramPhotosClient(double latitude, double longitude) {


}


LocationManager service = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
String provider = service.getBestProvider(criteria, false);
Location location1 = service.getLastKnownLocation(provider);
LatLng userLocation = new LatLng(location.getLatitude(),location.getLongitude());

public static String getRequestCacheKey() {
    return String.valueOf(latitude) + String.valueOf(longitude);
}
private static AsyncHttpClient client = new AsyncHttpClient();

public static void getPopularPhotos(AsyncHttpResponseHandler handler) {
    String url = instagramAPI + LAT + latitude + LNG
            + longitude;
    RequestParams params = new RequestParams();
    params.put(PARAM_NAME_CLIENT_ID, CLIENT_ID);
    client.get(url, params, handler);
}

}

Мне нужно статически ссылаться на url в другом классе, используя loopj http jsonhttpresponsehandler, однако я не думаю, что могу статически найти свое текущее местоположение, используя google maps lat и lng.

Теги:
google-maps
latitude-longitude
instagram-api
android-maps-v2

1 ответ

0

Я думаю, вам нужно настроить LocationManager после его объявления и до того, как вы получите долготу и широту от getLastKnownLocation. Вот как я подхожу к нему:

    LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, new LocationListener() {
    @Override
    public void onStatusChanged(String s, int i, Bundle bundle) {}
    @Override
    public void onProviderEnabled(String s) {}
    @Override
    public void onProviderDisabled(String s) {}
    @Override
    public void onLocationChanged(final Location location) {}
});
Location myLocation = locationManager.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER);
double longitude = myLocation.getLongitude();
double latitude = myLocation.getLatitude();
  • 0
    Понимаете, это то, что я думал, будет работать, но я получаю сообщение «Невозможно сделать статическую ссылку на нестатический метод getLastKnownLocation (String) из типа LocationManager». Я не могу использовать loopj без создания статической ссылки. Таким образом, вместо полной переделки моего кода, я бы хотел как-то исправить эти несколько строк, создав статическую ссылку. Я не уверен, как думать.
  • 0
    Ммм, я думаю, вы должны создать свой менеджер местоположения во время onCreate и передать ссылку на этот класс.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню