Как получить маркерный объект из угловых карт Google, не щелкая по нему - PullRequest
0 голосов
/ 06 марта 2019

Мне нужно скрыть маркеры одним нажатием кнопки. Я использую угловые карты Google и хочу получить маркерный объект маркеров, присутствующих на карте.Как я могу получить это.В приведенном ниже коде я передаю маркеры json response и создаю маркеры на карте.Любая помощь в этом очень ценится.Спасибо !!

<agm-map 
  #AgmMap
  (mapReady)="initMap($event)">

  <agm-marker 
      *ngFor="let m of markers; let i = index"
      [latitude]="m.lat"
      [longitude]="m.lng"
      [label]="m.label"
      [markerDraggable]="m.draggable"
      (dragEnd)="markerDragEnd(m, $event)">



  </agm-marker>
</agm-map>

1 Ответ

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

Вместо прямого доступа к объекту Маркер Google Maps я бы предложил манипулировать видимостью маркера с помощью компонента Marker, свойство visible кажется хорошим кандидатом для этой цели.

Предполагается, что данные производителей представлены вследующий формат

markers = [
    { Id: 1, name: "Oslo", lat: 59.923043, lng: 10.752839, visible: true },
    { Id: 2, name: "Stockholm", lat: 59.339025, lng: 18.065818, visible: true },
    { Id: 3, name: "Copenhagen", lat: 55.675507, lng: 12.574227, visible: true },
    { Id: 4, name: "Berlin", lat: 52.521248, lng: 13.399038, visible: true },
    { Id: 5, name: "Paris", lat: 48.856127, lng: 2.346525, visible: true }
  ];

и маркеры инициализируются следующим образом:

<agm-marker *ngFor="let m of markers" [visible]="m.visible"  [latitude]="m.lat" [longitude]="m.lng" >
</agm-marker>

видимость маркера может быть изменена при нажатии кнопки следующим образом:

toggleMarker(index) {
   this.markers[index].visible = !this.markers[index].visible;
}


<button (click)="toggleMarker(0)">Toggle marker</button>

Вот демоверсия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...