Angular-google-maps: GoogleMapsAPIWrapperはプロバイダーとして渡される必要があります

作成日 2017年06月07日  ·  3コメント  ·  ソース: SebastianM/angular-google-maps

問題の説明
コンポーネントの1つにGoogleMapsAPIWrapperを挿入しようとすると、NgModuleまたはNgComponentのいずれかにラッパーを提供する必要があります。 これは期待される動作ではないようです。
これがAngular4サービスの場合、AgmCoreModuleをインポートするだけで、モジュールでプロバイダー配列を使用する必要はありません。

再現する手順と問題の最小限のデモ

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
constructor(googleMapsAPIWrapper: GoogleMapsAPIWrapper) { //

}
@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    FormsModule,
    AgmCoreModule.forRoot()
  ],
  providers: [  ], //wrong
  bootstrap: [AppComponent]
})
export class AppModule { }

上記はエラーになります。
に変更する必要があります
providers: [ GoogleMapsAPIWrapper ], bootstrap: [AppComponent]

期待される/望ましい動作
モジュールにGoogleMapsAPIWrapperを提供する必要はありません。

angle2&angular-google-mapsバージョン
角度:4.1.3

agm / core:1.0.0-beta.0

その他の情報

最も参考になるコメント

@SebastianMは機能していないようです..それ以外の場合は何かが足りません..助けていただけますか、

約束は解決されていません。25行目は以下のリポジトリのapp.component.tsで実行されていません。 (コンソールにエラーはありません)

https://stackblitz.com/edit/agm-google-maps-api-wrapper-not-working

全てのコメント3件

GoogleMapsAPIWraperは、agm-mapインスタンスが作成されるときに作成されます。 これは完全に意図的なものです。 マップごとに1つのインスタンスを維持します。 マップのインスタンスを取得する場合は、カスタムコンポーネントを作成し、コンストラクターを介してGoogleMapsAPIWrapperを挿入できます。 だから私はこれを閉じます。

@SebastianMこれを試してみたいと言っている例はありますか?

@SebastianMは機能していないようです..それ以外の場合は何かが足りません..助けていただけますか、

約束は解決されていません。25行目は以下のリポジトリのapp.component.tsで実行されていません。 (コンソールにエラーはありません)

https://stackblitz.com/edit/agm-google-maps-api-wrapper-not-working

このページは役に立ちましたか?
0 / 5 - 0 評価