2017-04-13 1 views
0

Selon la documentation d'Angluar-cli here, je réussis à importer n'importe quelle bibliothèque tierce, puis à utiliser les typages (dt et personnalisés). Youhouou!Comment importer un espace de noms lors de l'utilisation de tiers avec angular-cli

Mais pour les types Google, je dois préfixer tous mes types de l'espace de noms google.maps:

let geocoder = new google.maps.Geocoder(); 

Que puis-je faire pour utiliser des noms courts pour des types comme ceci:

let geocoder = new Geocoder(); 

Merci pour toute suggestion.

Détail de mon importation Google Maps sont ici: Getting started - How to use Google maps api with angular-cli

==== ==== EDIT

La réponse @Nikky me montrer l'erreur avec l'espace de noms Google: Il sera disponible lors de l'exécution seulement après que le script google maps sera chargé.

Le problème se trouve dans tous les constructor() et ngOnInit() qui utilisent les types de google.map:

constructor() { 
    this.load();      //will begin goooglemaps script loading 
    this.onReady().then(() => {  //subscribtion to script loaded event 
     this.geocoder = new google.maps.Geocoder();//'google is not defined' at runtime 
    }); 
    } 

Répondre

1

Vous pouvez importer l'espace de noms et d'attribuer un nom à ce

import Geocoder = google.maps.Geocoder; 

Et puis utilisez-le comme si vous utilisiez l'API native de Geocoder

let geocoder = new Geocoder(); 
+0

J'ai une erreur lors de l'exécution time: "google n'est pas défini" –

+0

Comment inclure le script google maps dans le cli? –

+0

Je passe un appel à https://maps.googleapis.com/maps/api/js comme ceci: http://stackoverflow.com/questions/42816363/getting-started-how-to-use-google-maps- api avec angulaire-cli/43366564 # 43366564 –