首页 > 解决方案 > 这里使用 Angular 映射:隐藏 UI 控件时出错

问题描述

我有一个在我的 Angular 应用程序中使用的 HERE 地图。我已按照文档进行设置

我想从地图中隐藏一些控件,主要是比例尺和缩放控件。但是,我得到一个setEnabled is not a function错误。

这是我的代码:

public ngAfterViewInit() {
  const defaultLayers = this.platform.createDefaultLayers();
  if (this.mapElement) {
  this.map = new H.Map(
    this.mapElement.nativeElement,
    defaultLayers.normal.map,
    {
      zoom: 10
    });

    this.ui = H.ui.UI.createDefault(this.map, defaultLayers, 'en-US');

    // This line throws a `setEnabled is not a function` error
    let scalebar = this.ui.getControl('scalebar').setEnabled(false);
  }
}

我正在做文档中写的,所以我不明白为什么这不起作用。有任何想法吗?

附加信息this.ui.getControl('scalebar')不是未定义的。而且我可以看到 setEnabled 方法不是原型的一部分。(见截图)

在此处输入图像描述

标签: angulartypescripthere-api

解决方案


您可以使用以下代码行隐藏比例尺:

this.ui.getControl('scalebar').setVisibility(false)

边注:

我在 API 参考中没有看到任何setEnabled方法,因此这可能是文档指南中的错字。

来源:H.ui.Control API 参考


推荐阅读