我有以下代码,它获取地理位置并将其发布,然后在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/

10-13 08:37