代码:
const latitude = 19.0760;
const longitude = 72.8777;
state = {
region: {
latitude: LATITUDE,
longitude: LONGITUDE
},
};
navigator.geolocation.getCurrentPosition(
(position) => {
var initialPosition = JSON.stringify(position);
this.setState({
initialRegion: {
latitude: initialPosition.coords.latitude,
longitude: initialPosition.coords.longitude,
}
});
},
(error) => alert(JSON.stringify(error)),
{enableHighAccuracy: true, timeout: 20000, maximumAge: 1000}
);
我尝试获得lat和long值。但我的代码抛出异常。我出错了?任何帮助都会赞赏。谢谢提前
答案 0 :(得分:1)
将JS对象转换为带JSON.stringify
的字符串后,无法使用点或括号表示法访问对象值
尝试
navigator.geolocation.getCurrentPosition(
(position) => {
var initialPosition = {
latitude: position.coords.latitude,
longitude: position.coords.longitude,
}
this.setState({
initialRegion: initialPosition
});
},
(error) => alert(JSON.stringify(error)),
{enableHighAccuracy: true, timeout: 20000, maximumAge: 1000}
);
答案 1 :(得分:0)
代码示例中未提供
(evaluating 'a.coords.latitude')',
a.coords.latitude
,因此错误不在您发布的代码中
通常使用堆栈跟踪打印错误。请在错误位置找一个断点,看看为什么a
未定义。