如何在谷歌自动完成地图搜索中处理TypeError:place.address_components [2]?

时间:2013-03-23 18:17:27

标签: javascript google-maps google-maps-api-3 google-maps-api-2

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

2 个答案:

答案 0 :(得分:0)

检查它是否已定义:

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

}

或者如果您认为有必要,可以使用try / catch。如果可以的话,尽量避免尝试/捕获。

如果未定义address_components [2],我不确定谷歌地图意味着什么,你应该尝试记录address_components以查看它在Arizona VS其他结果中的地址是什么。

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

答案 1 :(得分:0)

    if (typeof  place.address_components[2] != 'undefined') {
             var state = place.address_components[2].short_name.toLowerCase();
    } else {
            // do something else;
    }

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