Google Maps API - 取得目前經緯度並標記
文章推薦指數: 80 %
取得使用者所在的經緯度除了可以使用Google Maps 的Geolocation API ,也可以透過網頁瀏覽器來實現,這篇文章將會介紹兩種取得所在位置經緯度的方法,接著使用地圖 ...
ARCHIVE
ABOUT
CONTACT
Designthinkingiseverywhere
GoogleMapsAPI-取得目前經緯度並標記
取得使用者所在的經緯度除了可以使用GoogleMaps的GeolocationAPI
,也可以透過網頁瀏覽器來實現,這篇文章將會介紹兩種取得所在位置經緯度的方法,接著使用地圖標記Marker標示在地圖上。
GeolocationAPI
前往GoogleCloudPlatformConsole,建立新的專案或是選擇現有的專案(不知道怎麼做可以參考GoogleMapsAPI-網頁載入地圖(起手式)),接著點選上方「啟用API和服務」,在搜尋欄位搜尋「DirectionsAPI」,找到後點選並且啟用。
接著我們簡單寫個JavaScript,利用XMLHttpRequest的方法呼叫GeolocationAPI,就能從console裡得到準確度accuracy(公尺)和經緯度資訊。
(至於準不準,看到文章最後你就知道了)
範例:GeolocationAPI取得所在位置經緯度
vargeolocation='https://www.googleapis.com/geolocation/v1/geolocate?key=你的APIKey';
(function(){
xhr=newXMLHttpRequest();
xhr.open('POST',geolocation);
xhr.onload=function(){
varresponse=JSON.parse(this.responseText);
console.log(response);
}
xhr.send();
})();
navigator.geolocation
除了申請GeolocationAPI之外,我們還能使用一個更簡單的方法navigator.geolocation,這是單純透過瀏覽器取得使用者所在的地理位置資訊,取得的資訊都會存在coords裡,總共有下列幾個方法:
方法
說明
latitude
緯度
longitude
經度
accuracy
精確度(公尺)
altitude
海拔高度
altitudeAccuracy
海拔高度精確度
heading
方向(正北的順時針方向)
speed
速度
然而要取得這些數值,可以透過getCurrentPosition()或watchPosition()來取得,兩個的差別在於getCurrentPosition()僅會執行一次,而watchPosition()則會隨著裝置的位置移動而持續監測,舉例來說,當使用者打開具備下面這段程式碼的網頁,網頁就會不斷偵測使用者位置,並在Google地圖上標記一個marker。
範例:navigator.geolocation取得所在位置經緯度
varmap,marker,lat,lng;
functioninitMap(){
navigator.geolocation.watchPosition((position)=>{
console.log(position.coords);
lat=position.coords.latitude;
lng=position.coords.longitude;
//初始化地圖
map=newgoogle.maps.Map(document.getElementById('map'),{
zoom:18,
center:{lat:lat,lng:lng}
});
marker=newgoogle.maps.Marker({
position:{lat:lat,lng:lng},
map:map
});
});
}
兩者差異
目前我自己實測起來,navigator.geolocation比GeolocationAPI還來得準確,畢竟navigator.geolocation是把瀏覽器所有可用的資訊拿出來用(WiFi位置、GPS、陀螺儀...等),然而GeolocationAPI看起來就只是透過WiFi的三角定位來判斷,下面的例子是同時用navigator.geolocation和GeolocationAPI在地圖上標記,相差真是十萬八千里...
範例:navigator.geolocation取得所在位置經緯度
小結
如果是使用手機,得到的位置相對而言就會更精準,甚至還會有海拔高度或指南針之類的訊息,但如果是使用iPhone或iPad,那麼就只能透過Safari來實現,因為iPhone或iPad的Chrome並不支援(安全性限制),總而言之,能取得自己的位置資訊,好像就能玩些「大地遊戲」的應用了,之後有時間再找時間做出來玩玩吧!
BackHome
ArticleList
ShareonFacebook
ShareonGoogle+
ShareonTwitter
BacktoTop
有興趣瞧瞧其他新文章嗎?
前一篇文章:
下一篇文章:
您可以閱讀其他相關文章,或瀏覽所有文章
Copyright2019|AllRightsReserved.DesignedbyOXXO.STUDIO
延伸文章資訊
- 1Google Maps API - 取得目前經緯度並標記
取得使用者所在的經緯度除了可以使用Google Maps 的Geolocation API ,也可以透過網頁瀏覽器來實現,這篇文章將會介紹兩種取得所在位置經緯度的方法,接著使用地圖 ...
- 2使用Google Map API (Geocoding API) 得到點位縣市鄉鎮資料
https://maps.googleapis.com/maps/api/geocode/json? 我們要在連結後面加上所要查詢的參數跟設定,例如要查詢經緯度坐標(23.48386540, 1...
- 3HTML5 的Geolocation(地理位置) API | 文章 - DeTools 工具死神
google map 誕生到今年已經15 年的樣子,地理資訊系統的應用目前也已經非常多元,不過這邊還是來講一下HTML5 的Geolocation(地理位置) API 該怎麼用吧 ...
- 4Geocoding API:取得API 金鑰| Google 地圖平台付費方案
Google Maps API 網路服務會拒絕同時使用用戶端ID 與API 金鑰送出的要求。 產生數位簽章. Google 地圖平台付費方案客戶向Geocoding API 送出要求時,必須 ...
- 5使用地理位置資訊API取得當前經緯度 - 昕力資訊
本文介紹如何使用javascript Geolocation API 來取得使用者的地理位置資訊. ... 透過以上地理位置資訊API的介紹與教學,相信使用起來會非常簡單,.