我正在努力解决问题一段时间。我无法找到任何有适当帮助的文章。我正在建立一个我拥有的网站" Navigate"按钮。该按钮必须找到用户位置并将其导航到特定位置。如果用户使用台式计算机,则应打开谷歌地图及其上的路线。但是如果用户使用移动设备,它应该直接打开导航应用程序并启动路线。(当然,如果没有安装导航,它也应该在浏览器中打开谷歌地图。)
发现用户地理位置无法打开导航应用程序。相反,它在浏览器中打开谷歌地图。有谁知道问题出在哪里,有没有办法实现我的目标。
这是我使用HTML5地理位置的代码:
$('#button-navigate').on('click', function(e){
navigator.geolocation.getCurrentPosition(geoNavigate);
e.preventDefault();
});
function geoNavigate( position ) {
var myLat = position.coords.latitude;
var myLng = position.coords.longitude;
window.location.href = 'http://maps.google.com/maps?saddr=' + myLat + ',' + myLng + '&daddr=42.140511,24.6884765';
}
但是,如果我尝试那样,使用静态起点,没有Geolocation功能,它似乎工作正确:
$('#button-navigate').on('click', function(e) {
window.location.href = 'http://maps.google.com/maps?saddr=43.140511,24.6884765&daddr=42.140511,24.6884765';
e.preventDefault();
});
我不喜欢在页面加载时获取用户位置并将其设置为按钮上的href属性。有没有其他方法可以获得用户坐标或解决我的地理定位问题?
编辑:它似乎发生在Android手机上。我尝试过iPhone 6和iPhone 5S,它可以正常工作。