問題の説明
コンポーネントの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
その他の情報
GoogleMapsAPIWraperは、agm-mapインスタンスが作成されるときに作成されます。 これは完全に意図的なものです。 マップごとに1つのインスタンスを維持します。 マップのインスタンスを取得する場合は、カスタムコンポーネントを作成し、コンストラクターを介してGoogleMapsAPIWrapperを挿入できます。 だから私はこれを閉じます。
@SebastianMこれを試してみたいと言っている例はありますか?
@SebastianMは機能していないようです..それ以外の場合は何かが足りません..助けていただけますか、
約束は解決されていません。25行目は以下のリポジトリのapp.component.tsで実行されていません。 (コンソールにエラーはありません)
https://stackblitz.com/edit/agm-google-maps-api-wrapper-not-working
最も参考になるコメント
@SebastianMは機能していないようです..それ以外の場合は何かが足りません..助けていただけますか、
約束は解決されていません。25行目は以下のリポジトリのapp.component.tsで実行されていません。 (コンソールにエラーはありません)
https://stackblitz.com/edit/agm-google-maps-api-wrapper-not-working