function distance(lat1, lng1, lat2, lng2) {
lat1 *= Math.PI / 180;
lng1 *= Math.PI / 180;
lat2 *= Math.PI / 180;
lng2 *= Math.PI / 180;
return 6371 * Math.acos(Math.cos(lat1) * Math.cos(lat2) * Math.cos(lng2 - lng1) + Math.sin(lat1) * Math.sin(lat2));
}
function geo() {
navigator.geolocation.getCurrentPosition(geogeo);
}
function geogeo(position) {
// 現在位置
var lat1 = position.coords.latitude;
var lng1 = position.coords.longitude;
var accu = position.coords.accuracy.toFixed();
// 目的地(文法経一番講義室)の緯度と経度
var lat2 = 34.805130;
var lng2 = 135.453851;
// 目的地までの距離
var dist = (distance(lat1, lng1, lat2, lng2)*1000).toFixed();
// 出力
var geo_text = "
\n";
// geo_text = "緯度:" + lat2 + "
\n";
// geo_text += "経度:" + lng2 + "
\n";
geo_text += "文法経一番講義室までの距離:" + dist + "メートル
\n";
geo_text += "位置精度:" + accu + "メートル
\n";
var date = new Date(position.timestamp);
geo_text += "取得時刻:" + date.toLocaleString() + "
\n";
geo_text += "
\n";
// 結果の取得
var name = document.getElementById("NAME").value;
var number = document.getElementById("NUMBER").value;
var answer = document.getElementById("ANSWER").value.replace(/\r?\n/g, ':');
geo_text += "名前:" + name + "
\n";
geo_text += "学籍番号:" + number + "
\n";
geo_text += "回答:" + answer + "
\n";
// tsv形式
var tsv = date.toLocaleString() + "\t" + dist + "\t" + accu + "\t" + name + "\t" + number + "\t" + answer + "\n";
// 結果の表示
document.getElementById('OUTPUT').innerHTML = geo_text;
// 書き出し
$.ajax({
type: "POST",
url: "submit.php",
data: {"data": tsv},
success: function(tmp) {
alert('Submission succeeded.\n---\n' + tmp);
}
});
}