Telefonun native özelliklerinden GPS ve MOTİON sensörlerini kullanmak için öncelikle projemize pluginlerini dahil etmemiz gerek .
cordova plugin add cordova-plugin-device-motion // motion sensörler için (hareket sensörleri )
cordova plugin add cordova-plugin-geolocation // gps için
Motion sensörlerini kullanmamız için gereken javasicript kodu
function onSuccess(acceleration) { alert('Acceleration X: ' + acceleration.x + '\n' + 'Acceleration Y: ' + acceleration.y + '\n' + 'Acceleration Z: ' + acceleration.z + '\n' + 'Timestamp: ' + acceleration.timestamp + '\n'); }; function onError() { alert('onError!'); }; var options = { frequency: 3000 }; // 3 saniyede bir pozisyon kontrolu yapılacak var watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options);
Birde full çalışan bir kod örneği paylaşalım
<!DOCTYPE html> <html> <head> <title>Hareket Sensörü</title> <script type="text/javascript" charset="utf-8"> var watchID = null; function onLoad(){ document.addEventListener("deviceready", onDeviceReady, false); } function onDeviceReady() { startWatch(); } function startWatch() { var options = { frequency: 1000 }; watchID = navigator.accelerometer.watchAcceleration(onSuccess, onError, options); } function stopWatch() { if (watchID) { navigator.accelerometer.clearWatch(watchID); watchID = null; } } function onSuccess(acceleration) { var element = document.getElementById('hareket'); element.innerHTML = 'Yön X: ' + acceleration.x + '<br />' + 'Yön Y: ' + acceleration.y + '<br />' + 'Yön Z: ' + acceleration.z + '<br />' + 'Timestamp: ' + acceleration.timestamp + '<br />'; } function onError() { alert('onError!'); } </script> </head> <body onload="onLoad()"> <div id="hareket">Hareket sensörleri bekleniyor...</div> <button onclick="startWatch();">Hareket izlemeye başla</button> <button onclick="stopWatch();">Durdur</button> <script type="text/javascript" src="cordova.js"></script> </body> </html>
GPS Sensörünü kullanmanız için gereken javascript kodu
document.addEventListener("deviceready", onDeviceReady, false); var watchID = null; function onDeviceReady() { var options = { enableHighAccuracy: true }; watchID = navigator.geolocation.watchPosition(onSuccess, onError, options); } function onSuccess(position) { uri = position.coords.latitude +','+ position.coords.longitude; localStorage.setItem('kordinat', uri); // clearWatch(); } function clearWatch() { if (watchID != null) { navigator.geolocation.clearWatch(watchID); watchID = null; } } function onError(error) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); }
Birde full çalışan bir kod örneği paylaşalım .
<!DOCTYPE html> <html> <head> <title>GPS Sensörü uygulaması</title> <script type="text/javascript" charset="utf-8" src="cordova.js"></script> <script type="text/javascript" charset="utf-8"> // // document.addEventListener("deviceready", onDeviceReady, false); // // function onDeviceReady() { navigator.geolocation.getCurrentPosition(onSuccess, onError); } // // function onSuccess(position) { var element = document.getElementById('geolocation'); element.innerHTML = 'Latitude: ' + position.coords.latitude + '<br />' + 'Longitude: ' + position.coords.longitude + '<br />' + 'Altitude: ' + position.coords.altitude + '<br />' + 'Accuracy: ' + position.coords.accuracy + '<br />' + 'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '<br />' + 'Heading: ' + position.coords.heading + '<br />' + 'Speed: ' + position.coords.speed + '<br />' + 'Timestamp: ' + position.timestamp + '<br />'; } // Yukarıda position.coords.latitude , position.coords.longitude değişkenleri aracılığı ile enlem boylam bilgisini alabilirsiniz // pozisyon hatalarında çalışacak function // function onError(error) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); } </script> </head> <body> <p id="geolocation">Konum arama işlemi tamamlandı...</p> </body> </html>