TypeError:无法读取未定义的属性'geometry'-Angular

时间:2019-06-27 22:56:07

标签: angular google-maps google-geocoder angular-google-maps

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

Uncaught TypeError: Cannot read property 'geometry' of undefined


  

我的代码:https://stackblitz.com/edit/angular-gyvwjh


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

1 个答案:

答案 0 :(得分:1)

在您的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密钥,因此您的请求将始终被拒绝。