Angular Google Maps(AGM)不可见

Mat*_*ten 4 google-maps angular-material angular

我正在尝试将地图添加到我的Angular项目中.使用AGM实现(https://github.com/SebastianM/angular-google-maps).我的地图虽然没有出现......

app.module.ts:

@NgModule(<NgModule>{
  declarations: [
    AppComponent,

  ],
  imports: [
    BrowserModule,
    OrderModule,
    AngularFireModule.initializeApp(environment.firebase),
    AngularFirestoreModule,
    FormsModule,
    MatTabsModule,
    BrowserAnimationsModule,
    MatTableModule,
    MatFormFieldModule,
    MatInputModule,
    NoopAnimationsModule,
    MatPaginatorModule,
    MatSortModule,
    MatButtonModule,
    MatDialogModule,
    MatCardModule,
    MatSelectModule,
    MatDatepickerModule,
    MatNativeDateModule,
    AgmCoreModule.forRoot({
      apiKey: <APIKEY>
    })
  ],

  exports: [FilterPipe],
  providers: [],
  bootstrap: [AppComponent]
})
Run Code Online (Sandbox Code Playgroud)

app.component.html:

<div>
  <agm-map [latitude]="51.678418" [longitude]="7.809007" [zoom]="zoom" [disableDefaultUI]="false"
           [zoomControl]="false">
    <agm-marker [latitude]="51.678418" [longitude]="7.809007"></agm-marker>
  </agm-map>
</div>
Run Code Online (Sandbox Code Playgroud)

我在垫子组件(角形材料)中展示这个

提前致谢!

Chr*_*ian 11

你应该给地图一个高度,所以在你的组件样式中添加:

agm-map{
    height: 300px
}
Run Code Online (Sandbox Code Playgroud)


小智 5

这对我有用:

在 HTML 中

<agm-map [latitude]="lat" [longitude]="lng" [zoom]="zoom" [styles]="styles" [mapTypeId]='mapType' #AgmMap></agm-map>
Run Code Online (Sandbox Code Playgroud)

在 TS

ngAfterViewInit(): void {
   setTimeout(() => {
     console.log('Resizing');
     this.agmMap.triggerResize();
   }, 100);
 }
Run Code Online (Sandbox Code Playgroud)

在 CSS 中

agm-map {
  height: 300px !important;
  width: 100%;  /* This is really important*/
}
Run Code Online (Sandbox Code Playgroud)