JavaScriptを勉強中、位置情報
単発だったら
(function() { var main; main = function() { var success; success = function(position) { console.log(position); if (position) { var geo = position.coords; console.log("latitude: " + geo.latitude); console.log("longitude: " + geo.longitude); console.log("accuracy: " + geo.accuracy); console.log("altitude: " + geo.altitude); console.log("altitudeAccuracy: " + geo.altitudeAccuracy); console.log("heading: " + geo.heading); console.log("speed: " + geo.speed); }; }; var error; error = function(e) { console.log(e); }; var option; option = { enableHighAccuracy: true, timeout: 3000, maximumAge: Infinity }; navigator.geolocation.getCurrentPosition(success, error, option); }; main(); }).call(this);
- ブラウザに対して高精度な位置情報を要求
- 位置情報を取得するまで許容する時間、3秒
- キャッシュ有効期間
定期的に取得するなら
(function() { var main; main = function() { var success; success = function(position) { console.log(position); if (position) { var geo = position.coords; console.log("latitude: " + geo.latitude); console.log("longitude: " + geo.longitude); console.log("accuracy: " + geo.accuracy); console.log("altitude: " + geo.altitude); console.log("altitudeAccuracy: " + geo.altitudeAccuracy); console.log("heading: " + geo.heading); console.log("speed: " + geo.speed); }; }; var error; error = function(e) { console.log(e); }; var option; option = { enableHighAccuracy: true, timeout: 10000, maximumAge: Infinity }; navigator.geolocation.watchPosition(success, error, option); }; main(); }).call(this);