Java 如何静态检索当前LAT&;instagram位置的液化天然气?

Java 如何静态检索当前LAT&;instagram位置的液化天然气?,java,google-maps,latitude-longitude,android-maps-v2,instagram-api,Java,Google Maps,Latitude Longitude,Android Maps V2,Instagram Api,} 我必须使用loopjhttpjsonhttpresponsehandler静态地引用另一个类中的url,但是我认为我不能使用googlemapslat和lng静态地找到我当前的位置 我认为您需要在声明LocationManager之后,在从getLastKnownLocation获取经度和纬度之前,设置LocationManager。我会这样做: private static final String CLIENT_ID = "xxxxxxxxxxxxxxxxxxxxxxxxxxx"; pr

}


我必须使用loopjhttpjsonhttpresponsehandler静态地引用另一个类中的url,但是我认为我不能使用googlemapslat和lng静态地找到我当前的位置

我认为您需要在声明LocationManager之后,在从getLastKnownLocation获取经度和纬度之前,设置LocationManager。我会这样做:

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

看,这就是我认为可行的方法,但我得到消息“无法从类型LocationManager对非静态方法getLastKnownLocation(String)进行静态引用”。如果不进行静态引用,我无法使用loopj。因此,我不想完全重做我的代码,而是想通过创建一个静态引用来修复这几行代码。我不知道该怎么想。嗯,我认为您应该在onCreate期间创建位置管理器,并将引用传递给这个类。
    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();