這從本網頁上的討論的延續: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