这是本页讨论的延续:Geolocation Google Maps Links jQuery
当用户单击链接时,我需要通过 navigator.geolocation 设置saddr。我可以通过下面的代码实现这一点,但是替换 href 后,链接不起作用。如果我将创建的链接传递到地址栏中,它会打开谷歌地图并绘制正确的路线,否则该链接将不起作用。
我认为每次按下链接时 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";
}