我已经习惯了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);
}
如上所述,电源线设置正确,但第二次点击时显示,而不是第一次
答案 0 :(得分:0)
这将解决您的问题。有点hacky,但有效。
setTimeout(function(){ if(Lat === 0){ location.reload(); } }, 1000);
基本上说,如果您的纬度等于0(获取线索失败),请重新加载页面。它在setTimeout 1秒内确保调用。