我有一个位置按钮,用于选择区域的地图,并按下显示吐司的保存按钮并转到它开始的活动,现在我想方便用户再次按位置按钮它将显示地图选择了区域,现在如果我使用共享优先级来使用onPause()中的putfloat()来保存纬度和经度,并在onResume()中访问这些,我需要更新相机,为此我需要LatLng对象,对吧?现在的问题是这个我有经纬度使用共享prefrences和更新相机需要LatLng的东西,我做什么
答案 0 :(得分:0)
试试这个
@Override
protected void onResume() {
super.onResume();
SharedPreferences pref = context.getSharedPreferences("saved_area", Activity.MODE_PRIVATE);
float lat = pref.getFloat("lat", 0);
float lng = pref.getFloat("lng", 0);
float zoom = pref.getFloat("zoom", 0);
map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(lat, lng), zoom));
}
@Override
protected void onPause() {
float zoom = map.getCameraPosition().zoom;
float lat = (float) map.getCameraPosition().target.latitude;
float lng = (float) map.getCameraPosition().target.longitude;
SharedPreferences pref = context.getSharedPreferences("saved_area", Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putFloat("lat", lat);
editor.putFloat("lng", lng);
editor.putFloat("zoom", zoom);
editor.commit();
super.onPause();
}