1

我刚刚开始使用 HereMaps 和我将 JavaScript 和 Typescript 与 Angular 混合的冒险。我的地图可以使用其他设置正确渲染,但我无法设置最大和最小缩放级别。我读到我可以设置图层的最大和最小级别,但是为地图设置最大和最小缩放的属性在哪里?

let defaultLayers = this.platform.createDefaultLayers();
let map = new H.Map(
    this.mapElement.nativeElement,
    defaultLayers.vector.normal.map,
    {
        zoom: 10,
        center: { lat: this.lat, lng: this.lng },
        renderBaseBackground: {lower: 2, higher: 2}
    }
);
map.getViewModel().setLookAtData({
    tilt: 30
});        
var behavior = new H.mapevents.Behavior(new H.mapevents.MapEvents(map));
var ui = H.ui.UI.createDefault(map, defaultLayers);
map.addLayer(new H.map.layer.Layer({
    min: 3,
    max: 7
}));

关于如何设置它的任何想法?

4

1 回答 1

0

您可以使用以下代码实现它(例如从 8 缩放到 10 缩放):

map.getBaseLayer()
    .setMin(8)
    .setMax(10);

或者

map.addEventListener("mapviewchange", e => {
    if (!e.oldValue.lookAt) return;
  let newZoom = e.newValue.lookAt.zoom;
    //console.log("zoom:", e.modifiers, e.oldValue, e.newValue);
  if(newZoom > 10){
    map.setZoom(10);
  }
  if(newZoom < 8){
    map.setZoom(8);
  }

});
于 2020-11-25T09:55:46.540 回答