docs: public Point toPixels(LatLong in) {
          if (in == null || this.mapView.getWidth() <= 0 || this.mapView.getHeight() <= 0) {
              return null;
          }
  
          MapPosition mapPosition = this.mapView.getModel().mapViewPosition.getMapPosition();
  
          // this means somehow the mapview is not yet properly set up, see issue #308.
          if (mapPosition == null) {
              return null;
          }
  
          // calculate the pixel coordinates of the top left corner
          LatLong latLong = mapPosition.latLong;
          long mapSize = MercatorProjection.getMapSize(mapPosition.zoomLevel, this.mapView.getModel().displayModel.getTileSize());
          double pixelX = MercatorProjection.longitudeToPixelX(latLong.longitude, mapSize);
          double pixelY = MercatorProjection.latitudeToPixelY(latLong.latitude, mapSize);
          pixelX -= this.mapView.getWidth() >> 1;
          pixelY -= this.mapView.getHeight() >> 1;
  
          // create a new point and return it
          return new Point(
                  (int) (MercatorProjection.longitudeToPixelX(in.longitude, mapSize) - pixelX),
                  (int) (MercatorProjection.latitudeToPixelY(in.latitude, mapSize) - pixelY));
      }