问题描述
我正在尝试根据从手机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 (将#修改为@)