docs: public void draw(){
          if (!mIsVisible)
              return;
          try {
              MapView.LayoutParams lp = new MapView.LayoutParams(
                      MapView.LayoutParams.WRAP_CONTENT,
                      MapView.LayoutParams.WRAP_CONTENT,
                      mPosition, MapView.LayoutParams.BOTTOM_CENTER,
                      mOffsetX, mOffsetY);
              mMapView.updateViewLayout(mView, lp); // supposed to work only on the UI Thread
          } catch(Exception e) {
              if (MapSnapshot.isUIThread()) {
                  throw e;
              }
              // in order to avoid a CalledFromWrongThreadException crash
          }
      }