TypeError:无法读取未定义的属性'defaultView'-角度

时间:2019-06-25 16:45:15

标签: angular google-maps geolocation angular-google-maps

我遇到了运行时错误,它在我的角度应用程序中给了我defaultView的堆栈跟踪信息,并且它阻止了我在项目中继续前进。


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

我已经用谷歌搜索了,但是所有问题都没有。所以我认为这是关于defaultView的第一个角度讨论。

我有一些代码可以接收地址并在地图上输出标记。我收到了https://developers.google.com/maps/documentation/javascript/geocoding

的错误消息

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

根文件夹中的

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

declare module "googlemaps";

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


我希望错误消失,但是每次我运行我的应用程序时都会发生。

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

正在工作的stackblitz(减去API密钥):https://stackblitz.com/edit/angular-yebacm

祝你好运!

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