iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 10
0
Modern Web

JavaScript 菜鳥研究室系列 第 10

菜鳥日記Day 10-用Leaflet版的Geolocation擷取所在地資訊

  • 分享至 

  • xImage
  •  

為方便使用者找到離自己最近的藥局,我在口罩地圖裡加入Leadlet版的Geolocation來標記使用者的所在位置。

在初始版本裡,我們是使用center語法,以手動方式標記自己的位置。但因為每位使用者的所在地都不同,若我將中心位置設定在高雄,則開啟地圖後將看見高雄的藥局資訊。對住在臺北的使用者來說,則必須用手動方式,將畫面拖到臺北的位置,降低使用者的便利性。

為此,Leaflet使用一則非常簡潔的語法,協助開發者標記使用者的所在位置,其語法如下
https://ithelp.ithome.com.tw/upload/images/20200922/20130039ajZAyKPWVu.png

  1. 建立Leaflet地圖層
  2. 在地圖層定位使用者座標與縮放值的預設大小
  3. 在onLocationFound(e)函式中,建立一個叫radius的變數,其內容為事件(e)中的精確度
    (加入toFixed(0)取消小數點,是因為用手機實測時,小數點後方會出現一長串數字)
  4. 從事件(e)取出使用者的座標值,並在地圖上建立一個標記(marker)
  5. 在座標上建立一個圓圈,並以radius作為圓圈的半徑長度
  6. 在onLocationError(e)函式,加入無法找到座標資訊的彈跳視窗

完成後,會如同下圖所示
https://ithelp.ithome.com.tw/upload/images/20200922/201300394ZmNLeCHqC.png


上一篇
菜鳥日記Day 9-使用判斷式區分標記顏色
下一篇
菜鳥日記Day 11-如何在JS頁面組字串
系列文
JavaScript 菜鳥研究室30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言