如何始终从 google 地理编码 api 获取城市
How to always get city from google geocoding api
我正在使用 google 地理编码 API 并且正在尝试获取城市。这是我正在获取信息。
const city = data.results[0].address_components[3].long_name
问题在于响应会因用户提供的地址而异。在某些情况下,它将位于 address_components[2] 而不是 3。城市在响应中,但在不同的数组中。
有没有办法始终获取城市,而不管它在数组中的哪个位置?
当然有办法。为了实现这一点,您不应依赖地址组件数组中的确切位置。
相反,您必须通过“类型”字段应用过滤器才能找出城市的相应地址部分。
可以使用以下数组方法:
代码截图如下
const addressComponents = data.results[0].address_components;
const filteredArray = addressComponents.filter(
address_component => address_component.types.includes("locality")
);
const city = filteredArray.length ? filteredArray[0].long_name : "City not found";
我正在使用 google 地理编码 API 并且正在尝试获取城市。这是我正在获取信息。
const city = data.results[0].address_components[3].long_name
问题在于响应会因用户提供的地址而异。在某些情况下,它将位于 address_components[2] 而不是 3。城市在响应中,但在不同的数组中。
有没有办法始终获取城市,而不管它在数组中的哪个位置?
当然有办法。为了实现这一点,您不应依赖地址组件数组中的确切位置。
相反,您必须通过“类型”字段应用过滤器才能找出城市的相应地址部分。
可以使用以下数组方法:
代码截图如下
const addressComponents = data.results[0].address_components;
const filteredArray = addressComponents.filter(
address_component => address_component.types.includes("locality")
);
const city = filteredArray.length ? filteredArray[0].long_name : "City not found";