Google Maps API
Geolocation API
Google Map標記叢集與取得使用者位置
2017/11/28 18:35:43
0
1401
Google Map標記叢集與取得使用者位置
簡介 |
如何在Map上建立標記叢集與取得使用者目前位置 |
作者 |
李宗霖 |
Google Map標記叢集與取得使用者位置
1. 標記叢集 ( marker cluster )
要使用標記叢集,首先必須要先加入markerclusterer.js、有map以及插入標記,這部分版上有文章教學過,故不再詳述,僅補充該篇未提及的部分。
使用叢集後畫面呈現如下
2. 取得使用者位置
取得使用者的位置使用的是Geolocation API,首先需要有Https才可以。
Geolocation API 實作於 window.navigator 物件中,使用前要先確認瀏覽器是否支援可用下列方法
Geolocation只有三個function, 分別為 getCurrentPosition()、 watchPosition() 和clearWatch() 。
getCurrentPosition()、 watchPosition()
皆是
用來取得位置資訊, getCurrentPosition() 只取一次, watchPosition() 則是持續取得所在位置; 而
clearWatch() 是用來停止 watchPosition()。
getCurrentPosition()、 watchPosition()
的參數是一樣的,必要的
successCallback (API會給
Position 物件
) 與非必要的
errorCallback
( API會給
PositionError
物件
),範例如下
PositionError 裡code屬性有四個值,分別表示:
- 0 : 原因不明的錯誤
- 1 : PERMISSION_DENIED - 沒有獲取地理位置信息的權限。
- 2 : POSITION_UNAVAILABLE - 至少有一個地理位置信息內的資訊回傳了錯誤 ( 無法取得位置 )。
- 3 : TIMEOUT - 取得地理資訊超過時限