TypeError: Cannot read property 'defaultView' of undefined - Angular

TypeError: Cannot read property 'defaultView' of undefined - Angular

我有一个 运行 时间错误,它在我的 angular 应用程序中提供了 defaultView 的堆栈跟踪,它阻止我继续我的项目。


错误: ERROR Error: Uncaught (in promise): TypeError: Cannot read property 'defaultView' of undefined TypeError: Cannot read property 'defaultView' of undefined

我用谷歌搜索了这个,但是 none 个问题中有 angular 个。所以我认为这是关于 defaultView 和 angular 的第一个。

我有一些代码可以获取地址并将标记输出到地图上。我从 https://developers.google.com/maps/documentation/javascript/geocoding

得到了错误

Stackblitz 中的代码https://stackblitz.com/edit/angular-gib2mq

根文件夹中的

index.d.ts 使导入语句起作用:import { } from 'googlemaps';

declare module "googlemaps";

我还通过 npm install --save @types/googlemaps

安装了 @types/googlemaps

我想让错误消失,但每次我 运行 我的应用程序都会发生这种情况。

谢谢!

看来你对如何使用@agm 包有很大的误解。没关系!一些注意事项:

  • 您不需要 this.map 或 latlng 类型。您只需将数字传递给 components
  • 需要重新居中时在地图上调用triggerResize(true)
  • 您不需要在配置中显式导入库...不知道为什么会这样。只需确保您使用的 API 密钥启用了它们
  • 最后,您需要给地图一个静态高度,或者它的父级需要一个(css 我不会深入的原因)。您始终可以使用打字稿设置高度。

工作 stackblitz(减去 API 键):https://stackblitz.com/edit/angular-yebacm

祝你好运!

编辑:你也不需要declare module "googlemaps";