2016-12-27 96 views
3

我有一个Ionic v2应用程序。angular2-google-maps导致ctorParameters.map错误

我一直在努力实现angular2-google-maps的年龄,但不断收到错误:

TypeError: ctorParameters.map is not a function

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和问题相似,我更新我所有的软件包(我认为是)正确的版本(即从rc3到rc4的ionic-angular),从我所能看到的情况来看,这个错误通常是由于错误包版本的匹配。

我遵循this教程,但他谈到与离子集成不同的问题,并没有解决我自己的问题。

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()即我收到错误时。

我找不到任何人在任何地方复制或有相同的错误。

另外,开始一个空白的离子v2项目具有相同的依赖关系,并启用AgmCoreModule.forRoot()作品,这使我相信它可能是我的项目。但是,所有的配置完全相同,我不知道其他什么会导致此错误。

答:

错误是angular2-google-maps版本。我使用的是0.17.0,而0.16.0是Ionic v2应用程序所必需的。下面的答案描述了降级角度版本可能会有帮助,但我不认为这是必要的。在任何情况下,这是我的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" 
} 

回答

1

你可以尝试降级角映射到0.16 这似乎是一个已知问题,is logged in github

它似乎是角度问题而不是离子版本不匹配。

一些评论员提到它在降级后正在工作。 另外一个新的离子2项目似乎正在使用2.2.1角度版本here 你也可以尝试降级。

希望它有帮助。

+0

将'angular2-google-maps'版本降级到'0.16.0'已成功!非常感谢你 – wmash

+0

很高兴它解决了:) –