这从本网页上的讨论的延续:Geolocation Google Maps Links jQuery谷歌地图URL参数(SADDR)链接不打开后HREF取代
我需要SADDR要通过navigator.geolocation设置,当用户点击链接。我可以通过下面的代码实现这一点,但是在替换href之后,链接不起作用。如果我将创建的链接放到地址栏中,它会打开Google地图并绘制正确的路线,但否则链接不起作用。
我认为每次链接被按下时,href都会被替换。如何在脚本末尾打开链接?
编辑:邓肯提供的解决方案,工作脚本现在显示
$("a.geo").click(function(e) {
if (navigator && navigator.geolocation) {
navigator.geolocation.getCurrentPosition($.proxy(getLoc, $(this)));
e.preventDefault();
}
});
function getLoc(position) {
var geoLat = position.coords.latitude;
var geoLon = position.coords.longitude;
document.location.href = "http://maps.google.com/maps?saddr=" + geoLat + "," + geoLon + "&daddr=35.662296,139.765854&dirflg=w&sensor=true";
}
如果您删除它,脚本根本不会触发,并且默认链接会触发。将它重新添加,脚本触发,用正确的URL替换href,但链接不会触发。 – Ashkas
还没有意识到功能如何连接,当然新的回答 – duncan
啊!干杯,已更新我的帖子。 – Ashkas