我正在尝试将地图添加到我的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]
})
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>
我在mat-tab组件(角度材料)中显示它
提前致谢!
答案 0 :(得分:8)
你应该给地图一个高度,所以在你的组件样式中添加:
agm-map{
height: 300px
}
答案 1 :(得分:0)
这对我有用:
在HTML中
<agm-map [latitude]="lat" [longitude]="lng" [zoom]="zoom" [styles]="styles" [mapTypeId]='mapType' #AgmMap></agm-map>
在TS
ngAfterViewInit(): void {
setTimeout(() => {
console.log('Resizing');
this.agmMap.triggerResize();
}, 100);
}
在CSS中
agm-map {
height: 300px !important;
width: 100%; /* This is really important*/
}
答案 2 :(得分:0)
如果使用agm(谷歌角度地图),则应在属性中提供适当的纬度和经度。使用属性的正确绑定语法并提供样式的高度。
答案 3 :(得分:0)
最实用的方法是这样的:
<div class="map">
<agm-map [latitude]="lat" [longitude]="lng" [zoom]="zoom" [disableDefaultUI]="false" [scrollwheel]="null" [zoomControl]="true" [styles]="styles">/agm-map>
</div>
.map {
width: 100%;
min-height: 50vh;
height: 0;
agm-map {
height: 100%;
width: 100%;
}
}