2016-12-28 80 views
0

从Ionic2公测RC3升级后,找不到命名空间 '谷歌'

我跑:

npm install --save @types/google-maps

里面添加以下到我的package.json

"@types/google-maps": "^3.2.0",

我的index.html有:

<script src="http://maps.google.com/maps/api/js"></script> 
    <script src="cordova.js"></script> 

我的代码包含:

declare var google: any; 
... 
public map: google.maps.Map = null; 

,但我得到以下错误,当我运行ionic serve

Cannot find namespace 'google'.

在我的IDE(VSC),如果我点击在google,它带我到node_modules\@types\googlemaps\index.d.ts这似乎有正确的定义。

任何想法赞赏。

+0

也许你忘了'NPM安装google-maps --sa ve'? –

+0

@SurajRao。我刚刚尝试过:'npm install google-maps --save'。它似乎已经在我的'package.json'中添加了''google-maps':“^ 3.2.1”'',我想我仍然需要它,谢谢。但是当我尝试运行'ionic serve'时,我仍然会遇到同样的错误。 – Richard

回答

1

其实Ionic本地已经有谷歌地图。你可以检查出here

实际的插件是here

ionic plugin add cordova-plugin-googlemaps --variable API_KEY_FOR_ANDROID="YOUR_ANDROID_API_KEY_IS_HERE" --variable API_KEY_FOR_IOS="YOUR_IOS_API_KEY_IS_HERE" 
+0

谢谢,那看起来像我缺少的东西。我会试一试,并将其标记为答案,如果它有效。 – Richard

+0

谢谢。这样可行。这是如何应该与新版本的Ionic 2. https://ionicframework.com/docs/v2/native/google-maps/ – Richard

+0

@理查德,你有没有试过在设备上测试你的应用程序(离子运行android )这个代码?在我的情况下没有显示设备上的地图。谢谢 – user2662006

0

未来的读者可能没有像解决问题一样的运气。从您的路径中的反斜杠中可以清楚地看到您在Windows上。在这种情况下,从my answer to a similar question此摘录可能感兴趣的:

您使用的离子,并有在某些 情况下,平台的差异(不知道是谁负责,离子或打字稿),其中 相同tsconfig以.json文件将工作在MacOS(也许Linux的),但 不是在窗口,没有明确地添加typeRoots进入你的tsconfig.json的 compilerOptions,像这样:

// tsconfig.json 
{ 
    "compilerOptions": { 
    // ... other stuff 
    "typeRoots": [ 'node_modules/@types' ] 
    } 
    // ... other stuff 
} 
相关问题