Limit the zoom level to a maximum value?

When I use Maps.ZoomToBounds(Maps.Markers.ToCoordinateArray)
and there is only one marker set then TTMNSFNCMap will zoom to the topmost
zoom level. I believe in Google maps this is the level 22.

Is there a possibility to limit the maximum level? e.g. 18?

The approach to use the following code works, but seems a bit dilettantish
because the map zooms up and afterwards down again:

procedure TFrmMaps.Button1Click(Sender: TObject);
begin
FLimitZoomLevel := 18;
Maps.Markers.ToCoordinateArray;
Maps.GetZoomLevel;
end;

procedure TFrmMaps.MapsGetZoomLevel(Sender: TObject; AZoomLevel: Double);
begin
if (AZoomLevel > FLimitZoomLevel) then
Maps.SetZoomLevel(FLimitZoomLevel);
end;

Unfortunately it's currently not supported to set a maximum zoom level. You'll indeed have change the zoom level manually like you did in your code.

Alternatively you could also check if there is only 1 marker before calling GetZoomLevel and immediately set the desired zoom level and map position.