Здесь карты с Angular: ошибка при скрытии элементов управления UI - PullRequest
1 голос
/ 25 марта 2019

У меня есть карта ЗДЕСЬ, которую я использую в своем приложении Angular. Я следовал за документом , чтобы настроить

Я хочу скрыть некоторые элементы управления на карте, в основном масштабную линейку и элемент управления масштабированием. Однако я получаю ошибку 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 не является частью прототипа. (см. скриншот)

enter image description here

Ответы [ 2 ]

1 голос
/ 25 марта 2019

Вы можете скрыть шкалу со следующей строкой кода:

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

Примечание:

Я не вижу setEnabled метода в справочнике по API, так что это может быть опечатка в руководстве по документации.

Источник: Справочник по H.ui.Control API

0 голосов
/ 25 марта 2019

Если у вас есть строка:

<link rel="stylesheet" type="text/css" href="http://js.api.here.com/v3/3.0/mapsjs-ui.css" />

в разделе заголовка вашего кода, прокомментируйте его. Вы не увидите масштабную линейку и масштабирование на карте. Эта строка отвечает за стандартные элементы управления пользовательского интерфейса на карте.

...