未处理的JS异常:undefined不是对象(评估' a.coords.latitude')',原因:'未处理的JS异常:undefined不是对象

时间:2017-05-23 05:16:54

标签: reactjs react-native

代码:

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值。但我的代码抛出异常。我出错了?任何帮助都会赞赏。谢谢提前

2 个答案:

答案 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未定义。