У меня работает следующий полный код .. скрипт каждые 3 секунды извлекает широту и долготу для движущегося автомобиля и сохраняет данные в таблицу mysql.
Даже с GPS, работающим на телефоне, точность не так хороша.
Я добавляю Var Options, чтобы я мог enableHighAccuracy: true
.
но точность все еще очень плоха, когда я рисую карту:
Есть ли способ улучшить это?
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title></title>
<script type="text/javascript" src='https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js?ver=3.3.1'></script>
</head>
<body style="text-align: center">
<button style="font-size:30px" id="find_btn">Find Me</button>
<div id="result"></div>
<br>
<div id="resp"></div>
<br>
<button style="font-size:30px" id="stop_btn">STOP</button>
<script type="text/javascript">
function SaveLatLng(lat,lng) {
var url = "saveLatLng.php";
$.ajax({
type: "POST",
url: url,
data: {latitude:lat,longitude:lng},
success: function(data) {
$('#resp').html(data);
}
});
};
var options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0
};
function error(err) {
console.warn(`ERROR(${err.code}): ${err.message}`);
}
function randomQuote() { //user clicks button
if ("geolocation" in navigator) { //check geolocation available
//try to get user current location using getCurrentPosition() method
navigator.geolocation.getCurrentPosition(function(position){
$("#result").html("Found your location <br />Lat : "+position.coords.latitude+" </br>Lang :"+ position.coords.longitude);
SaveLatLng(position.coords.latitude,position.coords.longitude);
}, error, options);
} else {
console.log("Browser doesn't support geolocation!");
}
};
var interval = null;
$("#find_btn").click(function () {
interval = setInterval(randomQuote, 3000);
});
$("#stop_btn").click(function () {
clearInterval(interval);
});
</script>
</body>
</html>