これは、このページの議論の続きです: Geolocation Google Maps Links jQuery
ユーザーがリンクをクリックしたときに、navigator.geolocation を介して saddr を設定する必要があります。以下のコードでこれを実現できますが、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";
}