Angular-google-maps: O GoogleMapsAPIWrapper deve ser passado como um provedor

Criado em 7 jun. 2017  ·  3Comentários  ·  Fonte: SebastianM/angular-google-maps

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

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

Todos 3 comentários

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

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

marcelinobadin picture marcelinobadin  ·  3Comentários

shedar picture shedar  ·  4Comentários

DeveloperAdd007 picture DeveloperAdd007  ·  3Comentários

supran2811 picture supran2811  ·  4Comentários

matishw picture matishw  ·  3Comentários