2016-11-23 1 views
1

angular2-google-maps를 통해 Google지도에 경로를 표시하고 있습니다. 나는 특정 조건에 따라 polylinepoints에 마커를 추가 할 때, 내 방법에 의해 확인 내 문제가있다 "isDisplayable()"

<sebm-google-map [latitude]="lat" [longitude]="lng"> 
    <sebm-google-map-polyline *ngFor="let user of followedUsers" [strokeColor]="user.IsSelected ? '#0277BD' : 'grey'"> 
     <sebm-google-map-polyline-point *ngFor="let userDataEvent of user.UserData.EventsList" [latitude]="userDataEvent.Lat" [longitude]="userDataEvent.Long"> 
      <sebm-google-map-marker *ngIf="userDataEvent.isDisplayable()" [latitude]="userDataEvent.Lat" [longitude]="userDataEvent.Long" [iconUrl]="user.IsSelected ? 'http://maps.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png' : 'http://maps.google.com/mapfiles/marker_grey.png' "> 
      </sebm-google-map-marker> 
     </sebm-google-map-polyline-point> 
    </sebm-google-map-polyline> 
</sebm-google-map> 

나는 각 사용자의 경로를 표시 할 내 사용자를 반복하고, 이벤트를 통해 내 라인의 각 포인트를 얻을 수있는 목록.

내 UserDataEvent 클래스 : 나는 예외를 가지고
import { EventData } from './EventData'; 

export class UserDataEvent { 
    ID: string; 
    Lat: number; 
    Long: number; 
    Date: string; 

    ListsEvent: EventData[]; 

    isDisplayable(): boolean { 
     let result: boolean = false; 

     for (var eventData of this.ListsEvent) 
     { 
      if (eventData.TypeEvent == 1 || eventData.TypeEvent == 2 || eventData.TypeEvent == 7 || eventData.TypeEvent == 8) { 
       result = true; 
      } 
     } 
     return result; 
    } 
} 

: 이해가 안

". self.context은 $ implicit.isDisplayable는 함수가 아닙니다"왜

답변

0

조금 파티에 늦었지만 ListsEvent에 값을 할당하지 않았기 때문에 아마 작동하지 않았을 것입니다. 따라서 this.ListsEvent의 루프 var 이벤트 데이터가 코드를 손상시킵니다. 또한 선상에 던져 대신 let을 사용할 수 있습니다.

+0

프로젝트의 회사에서는 더 이상 작동하지 않지만이를 해결했습니다. 어쨌든 고마워요 :) – Morgan

관련 문제