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