デバイスの向きイベントから受け取った値を別の関数で使用することについて質問があります。これは私が持っているものです:
$(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);
undefined を返します。どうすればこれを修正できますか? その変数を watchprocess の成功関数で使用したいと考えています。
jsfiddle: http://jsfiddle.net/HJTNJ/
ニールス