Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android地图:保存地图的状态_Android_Google Maps_Geolocation_Sharedpreferences_Android Lifecycle - Fatal编程技术网

Android地图:保存地图的状态

Android地图:保存地图的状态,android,google-maps,geolocation,sharedpreferences,android-lifecycle,Android,Google Maps,Geolocation,Sharedpreferences,Android Lifecycle,我有一个位置按钮,它指向地图,用户将在地图上选择区域,然后按保存按钮,显示toast并指向它开始的活动,现在我想方便用户再次按位置按钮,它将显示地图和已选择的区域,现在,如果我在onPause()中使用putfloat()使用共享优先级来保存纬度和经度,并在onResume()中访问它们,我需要更新相机,为此我需要LatLng对象,对吗?现在的问题是,我有使用共享优先权的纬度和经度,更新相机需要LatLng之类的东西,我要做的就是试试这个 @Override protected

我有一个位置按钮,它指向地图,用户将在地图上选择区域,然后按保存按钮,显示toast并指向它开始的活动,现在我想方便用户再次按位置按钮,它将显示地图和已选择的区域,现在,如果我在onPause()中使用putfloat()使用共享优先级来保存纬度和经度,并在onResume()中访问它们,我需要更新相机,为此我需要LatLng对象,对吗?现在的问题是,我有使用共享优先权的纬度和经度,更新相机需要LatLng之类的东西,我要做的就是试试这个

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

onResume中的代码没有运行,当im包含共享首选项时,它停止运行,当我注释掉它运行的代码时,