对于任何想要在不添加其他脚本的情况下做出反应的人来说,这是对上述答案的更新。这是用于 React 等的 ES2015 格式的代码,无需使用上面的任何 HTML 内容。只需导入该功能。特别感谢第一篇文章,因为我的文章是基于它的。
const showPosition = position =>{
let loc = `Latitude:${position.coords.latitude} logitude:
${position.coords.longitude}`
console.log(loc)
return loc
}
const getLocation = () => {
if (navigator.geolocation) {
return navigator.geolocation.getCurrentPosition(showPosition);
}
return false
}
然后只需导入该功能并使用它
如果您想获取状态和 zip,您可以使用 google API。这是获取地理位置和发送到 google 的代码,然后为您提供状态、地址结果。您将需要激活 google geolocation API。
//Docs - https://developers.google.com/maps/documentation/geocoding/intro#ReverseGeocoding
const getData = async (url) => {
let res = await fetch(url)
let json = await res.json()
console.log(json);
return json
}
const showPosition = async position =>{
let loc = `Latitude:${position.coords.latitude} logitude: ${position.coords.longitude}`
let url = `https://maps.googleapis.com/maps/api/geocode/json?latlng=${position.coords.latitude},${position.coords.longitude}&key={GOOGLE_API_key}`
console.log(loc)
let address = await getData(url)
console.log(`results`,address)
return address
}
const getLocation = async () => {
if (navigator.geolocation) {
return navigator.geolocation.getCurrentPosition(showPosition);
}
return false
}