aby*_*e85 5 google-maps angular
我正在尝试独立于 AGM 地图模块加载谷歌地图 API。我尝试这样做是因为在某些情况下我想在不使用 AGM 模块的情况下访问 Google Maps API。例如,如果我想加载街景,我需要调用 Google Maps 服务,我希望 API 已经加载并可以使用。出现问题是因为 app.module 中的 AgmCoreModule 负责加载 Google API,如下所示:
AgmCoreModule.forRoot({
apiKey: 'API_KEY',
libraries: ['places', 'drawing', 'geometry']
})
Run Code Online (Sandbox Code Playgroud)
这适用于使用 AGM 组件加载地图。该脚本被附加到 index.html 文件,一切正常。但是,如果我想在没有实例化地图的情况下访问 Google Maps API,则 AGM 模块未附加 Google API 脚本并且“google”未定义。
有没有一种方法可以在不使用 AgmCoreModule 上的 forRoot() 函数的情况下加载 Google Maps API?
我通过使用 MapsApiLoader 服务解决了这个问题。无需触摸 app.module 中的任何内容或更改 AgmCoreModule 的初始化方式。
import { MapsAPILoader } from '@agm/core';
constructor(
private _mapsAPILoader: MapsAPILoader
) { }
this._mapsAPILoader.load().then(() => {
//do stuff here
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5780 次 |
| 最近记录: |