Phonegap地理位置无法在第一次点击时工作

时间:2014-02-07 14:22:35

标签: android cordova geolocation

我已经习惯了geo:uri在本机应用程序中打开给定lat的地图。我已经在android中测试但是出现了以下问题:当第一次点击链接时,它会打开用户的当前位置,但是当第二次点击相同的链接时,它似乎按预期工作。

代码简单如下:

var url = device.platform == 'Android' ? 'geo:'+Lat+','+Long+"?q="+Lat+','+Long+'('+Name+')'

完整的javascript代码如下:

document.addEventListener('deviceready', dready,false);

    function dready()
    {
       $("#SearchResults").html(sessionStorage.Business);
        var url = device.platform == 'Android' ? 'geo:'+sessionStorage.BusinessLat+','+sessionStorage.BusinessLong+"?q="+sessionStorage.BusinessLat+','+sessionStorage.BusinessLong+'('+ sessionStorage.BusinessName+')' : 'comgooglemaps://'+sessionStorage.BusinessLat+','+sessionStorage.BusinessLong;

        $("#MapLink").attr('href',url);
    }

如上所述,电源线设置正确,但第二次点击时显示,而不是第一次

1 个答案:

答案 0 :(得分:0)

这将解决您的问题。有点hacky,但有效。

setTimeout(function(){ if(Lat === 0){ location.reload(); }  }, 1000);

基本上说,如果您的纬度等于0(获取线索失败),请重新加载页面。它在setTimeout 1秒内确保调用。