【发布时间】:2016-12-27 19:45:31
【问题描述】:
我有一个 Ionic v2 应用程序。
我多年来一直在尝试实现angular2-google-maps,但一直收到错误:
TypeError:ctorParameters.map 不是函数
我的packages.json(依赖项):
"dependencies": {
"@angular/common": "2.3.1",
"@angular/compiler": "2.3.1",
"@angular/compiler-cli": "2.3.1",
"@angular/core": "2.3.1",
"@angular/forms": "2.3.1",
"@angular/http": "2.3.1",
"@angular/platform-browser": "2.3.1",
"@angular/platform-browser-dynamic": "2.3.1",
"@angular/platform-server": "2.3.1",
"@ionic/storage": "1.1.6",
"angular2-google-maps": "^0.17.0",
"angularfire2": "^2.0.0-beta.6",
"firebase": "^3.6.4",
"ionic-angular": "2.0.0-rc.4",
"ionic-native": "2.2.3",
"ionicons": "3.0.0",
"rxjs": "5.0.0-beta.12",
"zone.js": "0.7.4"
},
看着here 和类似的问题,我将我所有的包更新为(我认为是)正确的版本(即ionic-angular 从rc3 到rc4),因为据我所知,这个错误通常是包版本不匹配造成的。
我按照 this 教程进行操作,但他谈到了与 ionic 集成的另一个问题,并且没有解决我自己的问题。
我的app.module.ts跟tutorial一样:
import { AgmCoreModule } from "angular2-google-maps/core";
imports: [
BrowserModule,
IonicModule.forRoot(MyApp),
// AgmCoreModule.forRoot({
// apiKey: "AIzaSyDUdGaRHXhN5oy5zpETRll8KsHnvx19_9Y"
// }),
AngularFireModule.initializeApp(firebaseConfig, firebaseAuthConfig)
],
就像那个代码一样,它可以工作。但是,如果我取消注释 AgmCoreModule.forRoot(),就会收到错误消息。
我找不到任何人复制或出现相同错误的任何地方。
另外,启动一个具有相同依赖项的空白 ionic v2 项目并启用 AgmCoreModule.forRoot() 可以让我相信它可能是我的项目。但是,所有的配置都是完全相同的,我不知道还有什么地方会导致这个错误。
回答:
错误是angular2-google-maps 版本。我使用的是0.17.0,而Ionic v2 应用程序需要0.16.0。下面的答案描述了降级您的角度版本也可能有所帮助,但我认为这没有必要。无论如何,这是我在package.json 中的新依赖集:
"dependencies": {
"@angular/common": "2.2.1",
"@angular/compiler": "2.2.1",
"@angular/compiler-cli": "2.2.1",
"@angular/core": "2.2.1",
"@angular/forms": "2.2.1",
"@angular/http": "2.2.1",
"@angular/platform-browser": "2.2.1",
"@angular/platform-browser-dynamic": "2.2.1",
"@angular/platform-server": "2.2.1",
"@ionic/storage": "1.1.7",
"angular2-google-maps": "0.16.0",
"angularfire2": "^2.0.0-beta.6",
"firebase": "^3.6.4",
"ionic-angular": "2.0.0-rc.4",
"ionic-native": "2.2.11",
"ionicons": "3.0.0",
"rxjs": "5.0.0-beta.12",
"zone.js": "0.6.26"
}
【问题讨论】:
标签: google-maps angular ionic2