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