0

我正在开发一个带有自动完成选项的谷歌地图应用程序。我place.address_components[2].short_name用来获取状态。它适用于某些城市,但不适用于所有城市。就像亚利桑那州一样,它给出了TypeError: place.address_components[2] is undefined 如何处理这个错误?

4

2 回答 2

0

检查它是否已定义:

if (place.address_components[2] !== undefined) { // if this is true, it is defined.

}

或者,如果您认为有必要,您可以使用 try/catch。如果可以,请尽量避免使用 try/catch。

如果 address_components[2] 未定义,我不确定这对谷歌地图意味着什么,您应该尝试记录 address_components 以查看亚利桑那州的地址与其他结果的含义。

必须有一种方法来获取状态.. 玩弄你的数据。

于 2013-03-23T18:20:29.440 回答
0
    if (typeof  place.address_components[2] != 'undefined') {
             var state = place.address_components[2].short_name.toLowerCase();
    } else {
            // do something else;
    }

上面的代码解决了我的问题。感谢@Spencer Lockhart 的回答。

于 2013-04-06T15:54:12.650 回答