很抱歉,这是重复的,我读过类似的文章,但无法解决这个问题,所以希望有人可以指出正确的方向。
我正在尝试使用地理位置API将用户的纬度,经度和时间戳记分配给全局变量(坐标对象)。我定义了函数,并且能够从结果调用中从函数内部控制台注销结果,但是不能将其分配给变量(返回未定义)。
在util文件中:
const getLocation = () => {
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};
function success(pos) {
const coords = {
lat: pos.coords.latitude,
long: pos.coords.longitude,
time: pos.timestamp
}
return coords;
}
function error(err) {
console.warn(`ERROR(${err.code}): ${err.message}`);
}
if ("geolocation" in navigator) {
return (navigator.geolocation.getCurrentPosition(success, error,
options));
} else {
return console.log('geolocation must be enabled')
}};
export default getLocation;
返回App.js:
import React, { Component } from 'react';
import Header from './components/Header';
import Footer from './components/Footer';
import Weather from './components/Weather';
import getLocation from './services/getLocation';
//import getWeather from './services/getWeather';
class App extends Component {
render() {
return (
<div>
<Header />
<Weather />
<Footer />
</div>
);
}
}
console.log(getLocation())
export default App;
我怀疑这是一个范围界定的问题,但似乎无法解决这个问题。如果有人可以提供建议,那就太好了,谢谢。