Descrição do problema
Quando tento injetar GoogleMapsAPIWrapper em um de meus componentes, preciso fornecer o Wrapper para meu NgModule ou meu NgComponent. Este não parece um comportamento esperado.
Se este for um serviço Angular 4, você poderá apenas importar o AgmCoreModule e não precisará usar a matriz de provedores em seu módulo.
Etapas para reproduzir e uma demonstração mínima do problema
@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 { }
O acima dá um erro.
Você precisa mudar para
providers: [ GoogleMapsAPIWrapper ],
bootstrap: [AppComponent]
Comportamento esperado / desejado
Você não deveria ter que fornecer GoogleMapsAPIWrapper
ao seu Módulo.
versão angular2 e angular-google-maps
angular: 4.1.3
agm / core: 1.0.0-beta.0
Outra informação
O GoogleMapsAPIWraper é criado quando uma instância agm-map é criada. Isso é totalmente intencional. Mantemos uma instância por mapa. Se você deseja obter a instância do mapa, pode criar um componente personalizado e injetar o GoogleMapsAPIWrapper por meio do construtor. Então, estou fechando isso.
@SebastianM Você tem um exemplo do que está dizendo quando gostaria de experimentar?
@SebastianM parece que não está funcionando .. senão, estou perdendo alguma coisa .. você pode ajudar,
A promessa não está sendo resolvida, a linha nº 25 não está sendo executada em app.component.ts no repositório abaixo. (não há erro no console)
https://stackblitz.com/edit/agm-google-maps-api-wrapper-not-working
Comentários muito úteis
@SebastianM parece que não está funcionando .. senão, estou perdendo alguma coisa .. você pode ajudar,
A promessa não está sendo resolvida, a linha nº 25 não está sendo executada em app.component.ts no repositório abaixo. (não há erro no console)
https://stackblitz.com/edit/agm-google-maps-api-wrapper-not-working