Angular пользовательские маркеры карт Google не отображаются правильно - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть приложение Angular, которое показывает расположение экипировки на карте. Я использую angular Google Maps для этого.

Мне нужно использовать пользовательские значки, чтобы использовать наложение agm. Раньше это работало нормально. Но в какой-то момент я заметил, что он не показывает правильный набор данных, он показывает все мое оборудование вместо отфильтрованного подмножества. Изменение наложения agm на agm-маркер решает проблему, но мне действительно нужно использовать пользовательские маркеры.

В моем компоненте карт :

<agm-map [latitude]  = "defaultLocation.lat"
         [longitude] = "defaultLocation.long"
         [zoom]      = "defaultLocation.zoom"
         (mapReady)  = "mapReady($event, equipments)"
         [fullscreenControl]='true'
         [mapTypeControl]='true'>

    <agm-marker-cluster imagePath="https://somePath">
      <agm-overlay
        *ngFor         = "let equipment of equipments"
        [latitude]     = "convertString(equipment.position[0])"
        [longitude]    = "convertString(equipment.position[1])"
        (markerClick)  = "selectEquipment(equipment, $event)">
        <div class="equipment-marker status-{{ equipment.statusColor }}" 
          [class.active]="equipment.active" (click)="selectEquipment(equipment, $event)">
          <div class="icon icon-{{ equipment.icon }}" ></div>
        </div>
      </agm-overlay>
    </agm-marker-cluster>
  </agm-map>

Оборудование фильтруется в другом компоненте, который имеет родственное отношение к компоненту карт, и я передаю дату @input и @ output.

Моя компания не позволяет мне публиковать производственный код. Но я могу уточнить больше, если это необходимо.

Я был бы рад, если бы кто-то мог сказать мне, что я делаю неправильно, или если бы кто-то мог предложить мне рабочую альтернативу.

...