地理定位谷歌地图链接jQuery
当我点击手机上的一个链接时,我想要一个提示,询问用户是否愿意检测位置,如果愿意,打开谷歌地图,显示从当前位置到最终目的地的方向 这就是我所拥有的,但是当我点击链接时,它会转到备用默认链接地理定位谷歌地图链接jQuery,jquery,html,google-maps-api-3,Jquery,Html,Google Maps Api 3,当我点击手机上的一个链接时,我想要一个提示,询问用户是否愿意检测位置,如果愿意,打开谷歌地图,显示从当前位置到最终目的地的方向 这就是我所拥有的,但是当我点击链接时,它会转到备用默认链接 <a class="geo" href="http://maps.google.com/maps?ll=40.822419,-73.993124">Get Directions</a> $("a.geo").click(function(e)) { if (navigator.
<a class="geo" href="http://maps.google.com/maps?ll=40.822419,-73.993124">Get Directions</a>
$("a.geo").click(function(e)) {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(getLoc, handle_errors);
}
e.preventDefault();
});
function getLoc(position) {
var geoLat = position.coords.latitude;
var geoLon = position.coords.longitude;
var gmapLink = "http://maps.google.com/maps?saddr=" + geoLat + "," + geoLon + "&daddr=40.822419,-73.993124";
$("a.geo").attr("href", gmapLink);
}
$(“a.geo”)。单击(功能(e)){
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(getLoc,handle\u错误);
}
e、 预防默认值();
});
功能getLoc(位置){
var geoLat=位置坐标纬度;
var geoLon=位置坐标经度;
变量gmapLink=”http://maps.google.com/maps?saddr=“+geoLat+”、“+geoLon+”&daddr=40.822419,-73.993124”;
$(“a.geo”).attr(“href”,Gmail);
}
在用户单击链接后,如何将href替换为新链接以及用户的位置?替换您的行,这会更改
href
属性:
$("a.geo").attr("href", gmapLink);
通过重定向:
window.location.assign(gmapLink);
同样值得将
e.preventDefault()
移动到if(navigator.geolocation)
块中,这样,如果没有可用的地理位置,用户仍然可以转到谷歌地图并自己插入他们的位置。以下内容适合我。注意,我将上下文代理给getLoc函数,因此$(this)仍然是我们在获取回调时按下的链接,并添加了一个click触发器来实际单击该链接。另一种解决方案是使用window.location
$("a.geo").click(function(e) {
if (navigator.geolocation) {
e.preventDefault();
navigator.geolocation.getCurrentPosition(
$.proxy( getLoc, $(this) )
, handle_errors);
}
});
function getLoc(position) {
var geoLat = position.coords.latitude;
var geoLon = position.coords.longitude;
var gmapLink = "http://maps.google.com/maps?saddr=" + geoLat + "," + geoLon + "&daddr=40.822419,-73.993124";
$(this).attr("href", gmapLink);
$(this).trigger('click');
}
谢谢你。一个问题tho-如果用户不希望站点获得位置,我如何将他们重定向到最初在html中设置的href(使用google地图链接)?