在其他功能中使用来自设备方向的值

时间:2013-05-16 07:33:50

标签: javascript jquery object geolocation device-orientation

我有一个关于在另一个函数中使用我从设备方向事件收到的值的问题。 这就是我所拥有的:

$(window).ready(function(){ 
    $("#btnShowDirection").click(showDirection);

    // Device orientation
    if (window.DeviceOrientationEvent) {
        window.addEventListener("deviceorientation", handleOrientation, false);
    } else {
        alert("Device Orientation is not available");
    }
}); // END OF DOCUMENT READY

// orientation object to save heading of the device
var orientation = {};

function handleOrientation(orientData) {
    var alpha = orientData.alpha;
    orientation.value = alpha;
}

var watchProcess = null;  
function showDirection() {
    if (navigator.geolocation) {
        if (watchProcess == null) {
            navigator.geolocation.watchPosition(geoWatchSucces,geoError);  
        }
    } else {
        alert("Geolocation is not supported!");
    }
}

function geoWatchSucces(position) {
    alert(orientation.value);
}

alert(orientation.value);回复未定义。 我怎样才能解决这个问题?我想在我的watchprocess成功函数中使用该变量。

jsfiddle:http://jsfiddle.net/HJTNJ/

尼尔斯

1 个答案:

答案 0 :(得分:1)

orientation.value在$(window).ready范围内设置,就像在geoWatchSucces函数中那样:orientation只是一个空对象......