Zoomscale method in QGIS C++ API

  c++, qgis, qt, zooming

I am working on a custom QGIS application using QGIS C++ APIs. I am able to render .mbtiles file of world blue marble as a raster file on Qgsmapcanvas. But when I call zoomscale API on canvas with various inputs like 10000000000, 1000000, or 1000…. It zooms to the same location. No matter what you put value inside this API. It leads to same extent of the zoom. I need to scale our basemap using scale tab as QGIS does. Am I using wrong API for this functionality?

Here is the image of the required functionality:

enter image description here

Source: Windows Questions C++