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

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

每当我将数据发送到对 Angular Google 地图的用户地址进行地理编码的方法时,我都会收到此错误:

Uncaught TypeError: Cannot read property 'geometry' of undefined


My code: https://stackblitz.com/edit/angular-gyvwjh


我已经尝试查看源码包以查看是否定义了 geometry 并且似乎已定义,但它仍然无法正常工作!

在你的 app.component 中,当你调用 getAddress() 时,你有这个检查。

if (google.maps.GeocoderStatus.OK) { ... }

这不是你想的那样。这个测试总是正确的。因此你继续调用 result[0].geometry,但没有结果。这就是为什么你有 Cannot read property 'geometry' of undefined.

为此更改此测试。

if (status === google.maps.GeocoderStatus.OK) { ... }

顺便说一句,这将系统地执行警报,因为您没有设置 google api 密钥,所以您的请求将始终被拒绝。