我有以下代码,它获取地理位置并将其发布,然后在div中显示一个按钮。这适用于台式机,但不适用于android上的常见问题,如本网站所述。建议要补充
{frequency:5000, maximumAge: 0, timeout: 100, enableHighAccuracy:true}
在下面某处的代码上,我已经尝试了几个地方才停止工作,请问这些值在哪里?
function getCoordPosition() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
function (position) {
$.ajax({
type: "POST",
url: "{{path('login_log_location')}}",
data: {
latitude: position.coords.latitude,
longitude: position.coords.longitude
},
success: function () {
$("#divputinarea").html("{{path('login_log_yourarea')}}">
<button class="btn btn-large btn-primary">
Find </button>');
}
});
});
}
}
经过下面的建议,我尝试了以下操作,如果没有添加,它将无法使用{maximumAge:0,timeout:100,enableHighAccuracy:true},如果出现错误,则提示错误'geolocation.getCurrentPosition的参数2无法调用“
function getCoordPosition() {
if (navigator.geolocation) {
function getPosition(position) {
$.post("{{path('login_log_location')}}", {
latitude:position.coords.latitude,
longitude:position.coords.longitude })
.done(function(data) {
$("#divputinarea").html('<form method=post action="
{{path('login_log_yourarea')}}"><button class="btn btn-large
btn-primary">Find your nearest matches</button>');
});
}
navigator.geolocation.getCurrentPosition(getPosition, {
maximumAge: 0,timeout: 100,enableHighAccuracy:true} );
}
}
</script>
最佳答案
getCurrentPosition方法采用三个参数:成功回调,错误回调和包含配置参数的对象。
navigator.geolocation.getCurrentPosition(
successCallback,
errorCallback,
{frequency:5000, maximumAge: 0, timeout: 100, enableHighAccuracy:true}
);
这是jsfiddle。
编辑:您可以修改您的代码以定义这三个参数。
function getPosition(position) {
$.post("{{path('login_log_location')}}", {
latitude:position.coords.latitude,
longitude:position.coords.longitude })
.done(function(data) {
$("#divputinarea").html('<form method=post action="
{{path('login_log_yourarea')}}"><button class="btn btn-large
btn-primary">Find your nearest matches</button>');
});
}
function onError(positionError) {
// error handling goes here
}
function getCoordPosition() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
getPosition, // success callback
onError, // error callback
{maximumAge: 0,timeout: 100,enableHighAccuracy:true} // extra params
);
}
}
关于javascript - 在何处放置enableHighAccuracy和其他地理位置设置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26657500/