web-dev-qa-db-fra.com

Erreur de dactylographie Impossible de trouver le nom «google» dans ionic2 lors de l'utilisation de l'API javascript googlemaps

Je suis le démarrage de Joshua Morony avec Google Maps dans le didacticiel vidéo Ionic 2. Je souhaite utiliser google maps dans mon application et je me retrouve avec une erreur TypeScript. Cela fait partie du - fichier pages/home/home.ts

initMap(){
let latLng= new google.maps.LatLng(6.929848, 79.857407);

let mapOpt={
  center : latLng,
  zoom : 15,
  mapTypeId :google.maps.MapTypeId.ROADMAP
};

this.map= new google.maps.Map(this.mapElement.nativeElement,mapOpt);}

J'ai essayé npm install --save @types/googlemaps,

mais cela me donne toujours la même erreur TypeScript Erreur TypeScript Impossible de trouver le nom 'google'

12
YD_

Je l'ai résolu en installant:

$npm install @types/googlemaps --save-dev
16
Biranchi
npm install --save-dev @types/googlemaps

import {} from '@types/googlemaps';

de cette réponse

Ou

dans ton component.ts fichier de votre page le déclarer comme ceci

declare var google; avant export class component {}

Un moyen simple Angular 6 + disponible en TypeScript est:

Vous n'avez qu'à ajouter cette ligne au début (c'est-à-dire la ligne 1, sans rien avant) de votre fichier TypeScript:

/// <reference types="@types/googlemaps" />

Et puis

import {RemainingItems} from 'whicheverfolderyouwant';

Mis à jour depuis

9
Black Mamba

Pour développer la réponse de @suraj, vous devriez avoir:

declare var google; 

en dehors de la classe dans laquelle vous essayez de l'utiliser.

Tout comme dans la vidéo de Josh Morony, je l'ai mis sous les importations mais avant la déclaration de classe et les annotations (@Injectable() et ainsi de suite). Je suppose que cela fonctionnerait toujours si vous le mettiez au-dessus des importations ou sous la fin de la classe (et toujours en dehors de la classe), si vous étiez si enclin pour une raison quelconque.

9
Douglas Barbin

Vous devez installer des types:

npm install --save-dev @types/googlemaps

Et dans votre fichier TypeScript où vous utilisez l'espace de noms "google":

[Angular 6+] Ajoutez cette ligne au début:

/// <reference types="@types/googlemaps" />

[Angular 5-] Ajoutez cette ligne:

import {} from '@types/googlemaps';

à partir de cette réponse

7
A. Morel

Pas besoin de faire quelque chose de plus Il suffit d'aller dans index.d.ts et de le coller avant de déclarer l'espace de noms google.maps

declare module 'googlemaps';
0
M.Bilal Murtaza