Как импортировать пространство имен при использовании сторонней библиотеки с angular-cli

Согласно документации Angluar-cli здесь, у меня получилось импортировать любую стороннюю библиотеку, а затем использовать типизацию (dt и пользовательскую). Юхоуу!

Но для типов Google я должен префикс всех своих типов пространством имен google.maps :

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

Что я могу сделать, чтобы использовать короткие имена для таких типов:

let geocoder = new Geocoder();

Спасибо за любое предложение.

Подробности моего импорта Карт Google здесь: Начало работы. Как использовать Google Maps API с angular-cli

==== РЕДАКТИРОВАТЬ ====

Ответ @Nikky показывает мне ошибку с пространством имен google: оно будет доступно во время выполнения только после загрузки скрипта карт google.

Таким образом, проблема находится во всех constructor() и ngOnInit(), которые используют типы 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
    });
  }

person Karbos 538    schedule 13.04.2017    source источник


Ответы (1)


Вы можете импортировать пространство имен и присвоить ему имя

import Geocoder = google.maps.Geocoder;

А затем используйте его, как если бы вы использовали собственный API геокодера.

let geocoder = new Geocoder();
person Nikki Kononov    schedule 13.04.2017
comment
У меня ошибка во время выполнения: google не определен - person Karbos 538; 13.04.2017
comment
Я вызываю maps.googleapis.com/maps/api/js следующим образом : stackoverflow.com/questions/42816363/ - person Karbos 538; 13.04.2017