Búsqueda de sitios web

typescript - No se puede encontrar el espacio de nombres 'google' en la aplicación ionic 3


¿Alguien puede ayudarme con este error que estoy obteniendo en mi aplicación Ionic 3 después de mi intento de usar la variable google en mi proyecto?

npm instalar --save @types/google-maps

que agregó lo siguiente a mi package.json:

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

También declaré declarar var google;

y ejecutó typings install dt~google.maps --global

entonces vi esta solución y la probé, pero eso tampoco funcionó (nota que generé una clave de iOS y una clave de Android) intenté esto: No se puede encontrar el espacio de nombres 'google'

ionic cordova plugin add https://github.com/mapsplugin/cordova-plugin-googlemaps#multiple_maps --variable API_KEY_FOR_ANDROID="TU_CLAVE_DE_API_DE_ANDROID_AQUÍ" --variable API_KEY_FOR_IOS="TU_CLAVE_DE_API_DE_IOS_AQUÍ" $npm install --save @ionic-native/google-maps

gist para mi map.ts que está dando este error:

https://gist.github.com/abdulfatah-ah1407281/25bc95352d0b1ba8e02b7d1e55cc7779

Error al ejecutar ionic serve:

Cannot find namespace 'google'.
C:/Users/pkhon/Desktop/k/ItBroken/src/components/map/map.ts
private map: google.maps.Map;
public isMapIdle:boolean;

Respuesta #1

No lo mencionaste, pero supongo que estás en Windows. Estás usando Ionic, y hay una diferencia de plataforma bajo algunas circunstancias (no estoy seguro de quién es responsable, si Ionic o TypeScript) donde el mismo archivo tsconfig.json funcionará en macOS (y tal vez en Linux), pero no en Windows sin agregar explícitamente una entrada typeRoots a las compilerOptions de tu tsconfig.json, así:

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