public void showMyLocationButton() {
   if (googleMap != null) {
     UiSettings uiSettings = googleMap.getUiSettings();
     googleMap.setMyLocationEnabled(true);
     uiSettings.setMyLocationButtonEnabled(true);
   }
 }
  public GoogleMapWrapper(Context context, GoogleMap map) {
    this.context = context;
    googleMap = map;
    googleMap.getUiSettings().setMyLocationButtonEnabled(true);
    googleMap.getUiSettings().setRotateGesturesEnabled(false);
    googleMap.getUiSettings().setTiltGesturesEnabled(false);
    googleMap.getUiSettings().setZoomControlsEnabled(true);

    // clickableBitmap.eraseColor(Color.RED);

    map.setOnMarkerClickListener(
        new GoogleMap.OnMarkerClickListener() {
          @Override
          public boolean onMarkerClick(Marker marker) {
            return onLocationMarkerTap(marker) || onMarkerTap(marker);
          }
        });
  }
 public void disableGestures() {
   UiSettings uiSettings = googleMap.getUiSettings();
   uiSettings.setMyLocationButtonEnabled(false);
   uiSettings.setTiltGesturesEnabled(false);
   uiSettings.setZoomGesturesEnabled(false);
   uiSettings.setZoomControlsEnabled(false);
   uiSettings.setRotateGesturesEnabled(false);
   uiSettings.setMyLocationButtonEnabled(false);
   uiSettings.setScrollGesturesEnabled(false);
   uiSettings.setCompassEnabled(false);
 }
 @Override
 public void setZoomControlsEnabled(boolean zoomControlEnabled) {
   googleMap.getUiSettings().setZoomControlsEnabled(zoomControlEnabled);
 }
  @Override
  public MapView createViewInstance(ThemedReactContext context) {
    reactContext = context;
    mView = new MapView(context);
    mView.onCreate(null);
    mView.onResume();
    map = mView.getMap();

    if (map == null) {
      sendMapError("Map is null", "map_null");
    } else {
      map.getUiSettings().setMyLocationButtonEnabled(true);
      map.setMyLocationEnabled(true);

      // We need to be sure to disable location-tracking when app enters background, in-case some
      // other module
      // has acquired a wake-lock and is controlling location-updates, otherwise, location-manager
      // will be left
      // updating location constantly, killing the battery, even though some other location-mgmt
      // module may
      // desire to shut-down location-services.
      LifecycleEventListener listener =
          new LifecycleEventListener() {
            @Override
            public void onHostResume() {
              map.setMyLocationEnabled(true);
            }

            @Override
            public void onHostPause() {
              map.setMyLocationEnabled(false);
            }

            @Override
            public void onHostDestroy() {}
          };

      context.addLifecycleEventListener(listener);

      try {
        MapsInitializer.initialize(context.getApplicationContext());
        map.setOnCameraChangeListener(getCameraChangeListener());
        map.setOnMarkerClickListener(getMarkerClickListener());
        // add location button click listener
        map.setOnMyLocationButtonClickListener(
            new GoogleMap.OnMyLocationButtonClickListener() {
              @Override
              public boolean onMyLocationButtonClick() {
                CameraPosition position = map.getCameraPosition();
                mlastZoom = (int) position.zoom;
                return false;
              }
            });
      } catch (Exception e) {
        e.printStackTrace();
        sendMapError("Map initialize error", "map_init_error");
      }
    }

    return mView;
  }