這裏是一個工作例子,你需要發揮它滿足您的需求:
第一:HTML/JavaScript的/ jQuery的
的index.html
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js">
</script>
</head>
<body>
<script>
window.setInterval(function() {
showlocation();
}
, 2000); // 2000==2 seconds
function showlocation() {
navigator.geolocation.watchPosition(callback);
}
function callback(position) {
var lat = position.coords.latitude;
var lon = position.coords.longitude;
document.getElementById('latitude').innerHTML = lat;
document.getElementById('longitude').innerHTML = lon;
$.post('processor.php', 'lat=' + lat + '&lon=' + lon, function(response) {
//alert(response);
}
);;
}
</script>
Latitude: <span id="latitude"></span>
<br/>
Longitude: <span id="longitude"></span>
</body>
</html>
二:
processor.php
<?php
$lat=$_POST["lat"];
$lon=$_POST["lon"];
// insert into database
$conn = mysqli_connect("localhost","user","pass","database");
$sql="INSERT INTO location_tbl (latitude, longitude) VALUES ('$lat','$lon')";
// You might need some conditional insert here and for every 2 seconds you will get lots of records in database!
mysqli_query($conn,$sql) or die(mysqli_error($conn));
// return 'done';
?>
This stack-overflow post could be a good reference
注意,它需要用戶權限才能共享位置,否則將無法正常工作。
提供的解決方案是爲教育目的只 ...
還有許多其他實用的方式來實現問題的目標。
爲什麼不使用一些PHP IP地理位置類/ API,並重新記錄一次更改的經度,緯度?
嘗試使用CRON JOB –
@VigneshChinnaiyan好主意,但cronjobs不支持秒,因此您需要PHP定時器和cronjob的組合 –
您運行的服務器端堆棧是什麼?你不能單獨使用JS來完成。 –