如何设置最大缩放

How to set max zoom

所以我注意到在 API 的旧版本中 nokia.maps.map.Display 下有一个 maxZoomLevel。但是我在 JS API 3.0 中找不到与此类似的内容。

目前我正在使用

map.addEventListener('mapviewchange', function () {
    var zoom=map.getZoom();
    if(zoom<=maxZoom)  {
        map.setZoom(maxZoom)
    }
});

但是一旦它达到 maxZoom 并且你进一步缩小它就会非常不稳定,因为它缩小了一点然后我将它设置回 maxZoom。有更好的方法吗?

您可以为图层设置最大缩放,像下面这样的东西应该可以工作

var defaultLayers = platform.createDefaultLayers();
defaultLayers.normal.map.setMax(12);

var map = new H.Map(mapContainer,
  defaultLayers.normal.map,{
  center: {lat:39.2328, lng:9.01168},
});

只是对已接受答案的一个小补充,如果有人试图使用矢量图层,如此处地图示例中提供的那样,那么您只需要 select 矢量对象,如下所示:

var defaultLayers = platform.createDefaultLayers();
defaultLayers.vector.normal.map.setMax(19); // this will set the max zoom level, so the user won't able to zoom deeper than 19 (close to buildings level)

var map = new H.Map(document.getElementById('map'),
            defaultLayers.vector.normal.map,
            {
                center: currentAddress,
                zoom: 18 // this is the default zoom level
            });