Android 启用GPS设置后刷新地图以显示当前位置

Android 启用GPS设置后刷新地图以显示当前位置,android,google-maps,android-activity,Android,Google Maps,Android Activity,我的应用程序将在当前位置显示标记。GPS设置警报对话框将显示GPS是否已禁用。启用GPS并返回应用程序后,地图不会刷新。因此,我必须强制停止我的应用程序并再次打开。如何刷新地图活动 GoogleMap googleMap; GPSTracker gps; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVi

我的应用程序将在当前位置显示标记。GPS设置警报对话框将显示GPS是否已禁用。启用GPS并返回应用程序后,地图不会刷新。因此,我必须强制停止我的应用程序并再次打开。如何刷新地图活动

GoogleMap googleMap;

GPSTracker gps;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);
    try {
        ViewMap();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

private void ViewMap() {
    if(googleMap == null) {
        SupportMapFragment supportMapFragment =
                (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.googleMap);
        googleMap = supportMapFragment.getMap();

        gps = new GPSTracker(MainActivity.this);

        if(gps.canGetLocation()) {

            double latitude = gps.getLatitude();
            double longitude = gps.getLongitude();

            LatLng latLng = new LatLng(latitude,longitude);

            TextView locationTv = (TextView) findViewById(R.id.latlongLocation);
            googleMap.addMarker(new MarkerOptions().position(latLng));
            googleMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
            googleMap.animateCamera(CameraUpdateFactory.zoomTo(15));
            locationTv.setText("Latitude:" + latitude + ", Longitude:" + longitude);
        }
        else {
            gps.showSettingsAlert();
        }
    }
}

@Override
protected void onResume() {
    super.onResume();
    ViewMap();
}

打开gps后,单击“刷新”按钮,然后获取当前的lat long值和

MarkerOptions markerOption = new MarkerOptions().position(new LatLng(Double.valueOf(current lat, current long).title("Your title if required");

Marker marker = mGoogleMap.addMarker(markerOption);
marker.showInfoWindow();

CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(current lat, current long).zoom(12).build();

mGoogleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

在位置更改时重写该方法。它将提供更新的lat long值。对不起,我没有刷新按钮。我想让我的地图自己刷新。然后从onLocationChange()重写方法调用refresh方法并发送当前的lat long值。