0

我正在使用角度 agm,并且需要在单击标记后绘制多边形。

<agm-map [latitude]="latitude"
         [longitude]="longitude"
         [zoom]="zoom">

  <agm-marker *ngFor="let item of items; let i = index"
              [latitude]="item.Latitud"
              [longitude]="item.Longitud"
              (markerClick)="drawPolygon($event)">

  </agm-marker>

</agm-map>

这是 drawPolygon 方法的相关部分:

event.data.add({
  geometry: new google.maps.Data.Polygon([
    zona])
})

但是,我收到错误消息:无法读取 undefined 的属性“添加”

在该方法中绘制多边形的任何想法或解决方法?

4

1 回答 1

1

不使用命令式命令,而是以 Angular/AGM 方式添加多边形;

<agm-map [latitude]="latitude"
         [longitude]="longitude"
         [zoom]="zoom">

  <agm-marker *ngFor="let item of items; let i = index"
              [latitude]="item.Latitud"
              [longitude]="item.Longitud"
              (markerClick)="drawPolygon($event)">

  </agm-marker>

  <agm-polygon *ngFor="let polygon of polygons">
  </agm-polygon>

</agm-map>
drawPolygon() {
  this.polygons.push( newPolygonData)
}
于 2019-12-25T19:00:10.980 回答