2016-12-28 2 views
0

Nach dem Ionic2 Beta RC3 UpgradeKann nicht Namespace finden 'google'

Ich lief:

npm install --save @types/google-maps

, die die folgenden meiner package.json hinzugefügt:

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

Mein index.html hat:

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

Mein Code enthält:

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

Aber ich bekomme die folgende Fehlermeldung, wenn ich ionic serve laufen:

Cannot find namespace 'google'.

In meiner IDE (VSC), wenn ich auf auf google, es dauert mich node_modules\@types\googlemaps\index.d.ts, die die richtige Definition zu haben scheint.

Irgendwelche Ideen geschätzt.

+0

vielleicht vergessen haben, 'npm installiere google-maps --sa ve'? –

+0

@SurajRao. Ich habe gerade versucht: 'npm google-maps --save' installieren. Es scheint "google-maps" hinzugefügt zu haben: "^ 3.2.1" 'zu meinem' package.json', was ich sowieso brauche, danke. Aber ich bekomme immer noch den gleichen Fehler, wenn ich "ionic serve" versuche. – Richard

Antwort

1

Eigentlich Ionic native hat bereits Google Maps. Sie können es überprüfen here

Das eigentliche Plugin ist 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

Danke, das sieht aus, als was ich vermisse. Ich werde es versuchen und dies als die Antwort markieren, wenn es funktioniert. – Richard

+0

Danke. Das funktioniert. So sollte es mit der neueren Version von Ionic 2 gemacht werden. Https://ionicframework.com/docs/v2/native/google-maps/ – Richard

+0

@Richard, haben Sie versucht, Ihre App auf dem Gerät zu testen (ionic run android) mit diesem Code? In meinem Fall wird die Karte nicht auf dem Gerät angezeigt. Vielen Dank – user2662006

0

Zukünftige Leser haben möglicherweise nicht das gleiche Glück, das Sie bei der Lösung des Problems getan haben. Aus den umgekehrten Schrägstrichen in Ihrem Pfad geht hervor, dass Sie sich auf Windows befinden. In diesem Fall kann dieser Auszug aus my answer to a similar question von Interesse sein:

Sie verwenden ionische, und es gibt eine Plattform Unterschied unter einigen Umstände (nicht sicher, wer dafür verantwortlich, ionische oder Typoskript ist), wo die gleiche TSconfig .json Datei wird auf macos arbeiten (und vielleicht auch linux), aber nicht in Fenster, ohne explizit einen typeRoots Eintritt in die Compiler Ihrer tsconfig.json, wie das Hinzufügen von:

// tsconfig.json 
{ 
    "compilerOptions": { 
    // ... other stuff 
    "typeRoots": [ 'node_modules/@types' ] 
    } 
    // ... other stuff 
} 
Verwandte Themen