我现在已经浏览了几个小时才找到解决方案。 我对JavaScript知之甚少,实际上我正在学习它。
我遇到了获取用户GPS位置的问题。我想要 : - 获取用户的位置(jQuery)。 - 通过Ajax>将其传输到服务器端PHP。
这是我的JS代码:
$(document).ready(function () {
initCoords();
});
function initCoords() {
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(updateLocation, errorHandler, {enableHighAccuracy: false, maximumAge: 60000, timeout: 27000});
} else
{
alert('Wrong browser.');
}
}
function updateLocation(position)
{
var longitude=position.coords.longitude;
var latitude=position.coords.latitude;
console.log(longitude);
$.ajax({
url: "../../ajax/account/handlegeolocation",
type: "post",
dataType: "json",
data: {"longitude": longitude, "latitude": latitude},
success: function (response) {
console.log(response.message);
},
error: function (xmlhttprequest, textstatus, message) {
console.log(message);
}
}).then(function () {
setTimeout(updateLocation, 30);
});
}
function errorHandler(error)
{
console.log('Geolocation error : code ' + error.code + ' - ' + error.message);
}
我感到惊讶的是我在加载页面时看到的内容。 返回位置,但JS表示返回位置的对象未定义。
感谢您的帮助!
答案 0 :(得分:1)
这是因为您没有从
传递位置对象../
从超时调用函数setTimeout(updateLocation, 30);
将解决您的问题。
或者这是您的代码,有一些编辑,没有任何错误。
initCoords