2016-11-23 13 views
1

私はangular2-google-mapsを介してGoogleマップにパスを表示しています。私は私の方法によって確認された特定の条件に応じて、polylinepoints上のマーカー、追加しようとすると 私の問題は、私は、各ユーザのパスを表示するには、私のユーザーを反復

<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> 

「isDisplayableを()」であり、イベントの上に私の行の各点を得るためのリスト。

マイ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

関連する問題