如何解决以角度为 GoogleApi 命名空间创建别名
我正在使用 agm
并尝试使用 namespaces aliases in 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 { }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。