gpt4 book ai didi

react-native - 如何在 native react 中进行反向地理编码

转载 作者:行者123 更新时间:2023-12-03 23:11:47 28 4
gpt4 key购买 nike

我正在尝试使用 react-native-geolocation 在 react native 中获取我当前的位置我得到我所在位置的纬度和经度。现在我想在不使用 Google API key 的情况下将它们转换为位置的地址。

有没有办法在不使用 Google API key 的情况下将纬度经度转换为地址?

最佳答案

有很多方法可以在不使用 Google Maps API 的情况下将 lon/lat 转换为地址。搜索 reverse geocoding api你会发现一堆替代品。

几个月前,我因反向地理编码 API 请求被 Google 多收了钱。所以我切换到 Here .他们有一个 free tier提供 250k 请求/月,适用于我的应用程序。请参阅此处的文档:https://developer.here.com/documentation/examples/rest/geocoder/reverse-geocode
这将为您提供非常详细的地址数据(与穆罕默德建议的 ip-api.com 不同)。

这是我用来调用 API 的包装函数:

function getAddressFromCoordinates({ latitude, longitude }) {
return new Promise((resolve) => {
const url = `https://reverse.geocoder.ls.hereapi.com/6.2/reversegeocode.json?apiKey=${HERE_API_KEY}&mode=retrieveAddresses&prox=${latitude},${longitude}`
fetch(url)
.then(res => res.json())
.then((resJson) => {
// the response had a deeply nested structure :/
if (resJson
&& resJson.Response
&& resJson.Response.View
&& resJson.Response.View[0]
&& resJson.Response.View[0].Result
&& resJson.Response.View[0].Result[0]) {
resolve(resJson.Response.View[0].Result[0].Location.Address.Label)
} else {
resolve()
}
})
.catch((e) => {
console.log('Error in getAddressFromCoordinates', e)
resolve()
})
})
}

关于react-native - 如何在 native react 中进行反向地理编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61796917/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com