예제 #1
0
  private void enableUserLocation(boolean enable) {
    if (mLocationProvider == null) {
      mLocationProvider =
          new UserLocationProvider(
              new GpsLocationProvider(getActivity().getApplicationContext()), mMapView);
      mLocationProvider.setDrawAccuracyEnabled(true);
      if (mLocationListener != null) {
        mLocationProvider.setLocationListener(mLocationListener);
      }

      mMapView.addOverlay(mLocationProvider);
    }

    if (enable) {
      mLocationProvider.enableMyLocation();

      if (mUserLocationTrackingMode == TrackingMode.NONE) {
        mLocationProvider.disableFollowLocation();
      } else {
        mLocationProvider.enableFollowLocation();
      }
    } else {
      mLocationProvider.disableFollowLocation();
      mLocationProvider.disableMyLocation();
    }
  }
예제 #2
0
  @Override
  public void setLocationListener(LocationListener listener) {
    mLocationListener = listener;
    if (mLocationProvider != null) {
      mLocationProvider.setLocationListener(mLocationListener);

      final Location lastLocation = mLocationProvider.getLastFix();
      if (lastLocation != null) {
        mLocationListener.onLocationChanged(lastLocation);
      }
    }
  }