2016-12-28 79 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 
} 
相關問題