今天這個geolocation API可以拿到使用者的位置
但需要取得使用者的授權
使用nevigator.geolocation
這個物件,可以取得裝置的地理相關資訊
不過在做這些之前
需要先假設local server
可以使用JS30給的package.json
也可以用Xcode
我自己是用pthon來架設local server
getCurrentPosition()
是可以拿到即時的位置訊息watchPosition()
是可以持續追蹤位置,一但位置有變,會更新內容
navigator.geolocation.watchPosition(data => {
console.log(data)
});
東西都藏在coords
內!
coords.latitude
緯度coords.longitude
經度coords.altitude
高度coords.heading
和北邊(0度)的順時針角度coords.speed
速度
取得這些資訊就可以拿來做一些定位相關的服務。
<h1 class="speed">
<span class="speed-value">0</span>
<span class="units">KM/H</span>
</h1>
<div class="latitude"></div>
<div class="longitude"></div>
navigator.geolocation.watchPosition(data=> {
speed.textContent = data.coords.speed;
arrow.style.transform = "rotate(`${data.coords.heading}`deg)";
latitude.textContent = `緯度:${data.coords.latitude}`;
longitude.textContent = `經度:${data.coords.longitude}`;
})