如何设置最大缩放
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
});
所以我注意到在 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
});