angular - 以角度为 GoogleApi 命名空间创建别名
问题描述
我正在使用agm
并尝试通过在 typescript 中使用命名空间别名来为 googleapi 创建命名快捷方式:
//general
export import GoogleMap = google.maps.Map;
export import GoogleStyleOptions = google.maps.Data.StyleOptions;
//map
export import GoogleStyledMapType = google.maps.StyledMapType;
//drawing:
export import GoogleDrawingManager = google.maps.drawing.DrawingManager;
export import GoogleOverlayCompleteEvent = google.maps.drawing.OverlayCompleteEvent;
export import GoogleOverlayType = google.maps.drawing.OverlayType;
export import GoogleCircle = google.maps.Circle;
export import GoogleFeature = google.maps.Data.Feature;
//events:
export import GoogleMouseEvent = google.maps.MouseEvent;
export import GoogleDataMouseEvent = google.maps.Data.MouseEvent;
//places:
export import GoogleAutoComplete = google.maps.places.Autocomplete;
export import GooglePlaceResult = google.maps.places.PlaceResult;
所以不要写:
@Component({
selector: 'app-google-map',
//....
initDrawingManager(map: google.maps.Map): void {
this.drawingManager = new google.maps.drawing.DrawingManager({
//....
我可以写:
@Component({
selector: 'app-google-map',
//....
initDrawingManager(map: GoogleMap): void {
this.drawingManager = new GoogleDrawingManager({
//....
我收到错误
google-map.model.ts:2
- 该文件是我指定的命名空间别名,尽管我可以在MapModule
boostrap 之前加载别名文件但它不起作用,我假设因为该文件甚至在那之前就被加载了?:
export function initializeMapApiImports(
mapsAPILoader: MapsAPILoader,
): () => Promise<void> {
return () => mapsAPILoader.load()
}
@NgModule({
declarations: [
MapComponent,
GoogleMapComponent,
DataLayerMouseEventDirective
],
imports: [
CommonModule,
CoreViewModule,
AgmCoreModule.forRoot({
apiKey: '...',
libraries: ['places', 'drawing']
}),
],
providers: [
{ provide: APP_INITIALIZER, useFactory: initializeMapApiImports, deps: [MapsAPILoader], multi: true }
]
})
export class MapModule { }
解决方案
推荐阅读
- node.js - require('..') 是什么意思?
- terraform - Terraform:引用或未引用的资源引用?
- java - 连接 Stomp over SockJS 并订阅消息后仅接收标头
- php - 如何解决:当我编写测试时“未找到测试”?
- node.js - 将 mongoose-autoincrement 与 insertMany 请求一起使用会以无序的方式填充 _id 索引
- entity-framework-core - 已存在同名查询类型
- python - 根据其他列值的组合检查唯一列值
- c# - Vector 3 数组,如何将位置分配给 Vector3 数组
- numpy - 如何将矩阵提升到按升序增加的数组中元素的幂?
- python - py3.6.4 和 py3.6.8 之间的 OR-tools 结果差异