地图活动未保存恢复状态中添加的标记

问题描述

我正在尝试根据从手机3轴接收的数据创建标记。每次获得新的坑洞位置时,我都会在Map Activity中创建一个带有接收到的坐标的标记。但是每当我从地图活动返回到主要活动时。我的标记没有保存。我已经阅读了有关savedInstanceState的文档,但似乎无法使它正常工作。作为Map SDK的新手,我们将不胜感激。

地图活动:

    public class MapsActivity extends FragmentActivity implements OnMapReadyCallback,LocationListener {

    private GoogleMap mMap;
    double latitude = 0;
    double longitude = 0;
    private LocationManager locationManager;
    private static final long MIN_TIME = 400;
    private static final float MIN_disTANCE = 1000;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //onSaveInstanceState(true);
        setContentView(R.layout.activity_maps);


        // Obtain the SupportMapFragment and get notified when the map is ready to be used.
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
        // mapFragment.getMapAsync(this);
        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        if (ActivityCompat.checkSelfPermission(this,Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this,Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            return;
        }
        locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,MIN_TIME,MIN_disTANCE,this);
        //Get the bundle

        Bundle extras = getIntent().getExtras();
        if (extras != null) {
            latitude = extras.getDouble("lat");
            longitude = extras.getDouble("long");
        }
        else{
            Location location = new Location("Provider");
            latitude = location.getLatitude();
            longitude = location.getLongitude();
        }
    }

    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;
        mMap.setMyLocationEnabled(true);
        mMap.getUiSettings().setMyLocationButtonEnabled(true);

        LatLng pothole = new LatLng(latitude,longitude);
        mMap.addMarker(new 
 
 
 MarkerOptions().position(pothole).title("Pothole").icon(BitmapDescriptorFactory.fromresource(R.drawable.potholesmall)));
        mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(pothole,10));
        mMap.animateCamera(CameraUpdateFactory.zoomTo(15));

    }


    @Override
    public void onLocationChanged(Location location) {

    }

    @Override
    public void onStatusChanged(String provider,int status,Bundle extras) {

    }

    @Override
    public void onProviderEnabled(String provider) {

    }

    @Override
    public void onProviderdisabled(String provider) {

    }
    @Override
    public void onSaveInstanceState(Bundle savedInstance) {
        super.onSaveInstanceState(savedInstance);

    }

    }

如果您需要我的应用程序的其他任何部分,lmk。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)