使用带有angular-cli的第三方库时如何导入命名空间

时间:2017-04-13 09:46:29

标签: google-maps angular angular-cli typescript-typings

根据Angluar-cli文档here,我成功导入任何第三方库,然后使用typings(dt和custom)。有厚!

但是对于Google类型,我必须在google.maps命名空间前面加上我的所有类型:

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

如何使用此类型的短名称:

let geocoder = new Geocoder();

感谢您的任何建议。

我的Google地图导入详情位于:Getting started - How to use Google maps api with angular-cli

====编辑====

@Nikky答案向我显示谷歌命名空间的错误:只有在加载谷歌地图脚本后才能在运行时使用。

因此问题出现在使用google.map类型的所有constructor()ngOnInit()中:

  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
    });
  }

1 个答案:

答案 0 :(得分:1)

您可以导入命名空间并为其指定名称

import Geocoder = google.maps.Geocoder;

然后使用它就像使用本机Geocoder API一样

let geocoder = new Geocoder();