如何使用 Google 地圖中的 HTML5 GeoLocation API?


HTML5 地理定位 API 讓你可以與自己喜歡的網站共享你的位置資訊。Javascript 可以獲取你的緯度和經度,並將其傳送到後端 Web 伺服器,還可以執行一些很炫的與位置相關的操作,例如查詢本地商家或在地圖上顯示你的位置。地理定位座標指定了裝置的地理位置。

我們將使用 getCurrentPostion() 方法來獲取當前位置。要使用 Google 地圖中的 HTML5 地理定位獲取當前位置,你需要為 Google 靜態地圖 API 設定一個 API 金鑰。

轉到 https://console.developers.google.com,並獲取 Google 地圖的免費 API 金鑰。將此金鑰新增到程式碼中,以使地理定位正常工作。

你可以嘗試執行以下程式碼,以使用 Google 地圖中的 Geolocation API 顯示當前位置 −

示例

<!DOCTYPE HTML>
<html>
   <head>
      <script type = "text/javascript">
         function showLocation(position) {
            var latitude = position.coords.latitude;
            var longitude = position.coords.longitude;
            var latlongvalue = position.coords.latitude + ","
                              + position.coords.longitude;
            var img_url = "https://maps.googleapis.com/maps/api/staticmap?center="
                          +latlongvalue+"&zoom=14&size = 400x300&key =
                          AIzaSyAa8HeLH2lQMbPeOiMlM9D1VxZ7pbGQq8o";
            document.getElementById("mapholder").innerHTML =
            "<img src ='"+img_url+"'>";
         }
         function errorHandler(err) {
            if(err.code == 1) {
               alert("Error: Access is denied!");
            }else if( err.code == 2) {
               alert("Error: Position is unavailable!");
            }
         }
         function getLocation(){
            if(navigator.geolocation){
               // timeout at 60000 milliseconds (60 seconds)
               var options = {timeout:60000};
               navigator.geolocation.getCurrentPosition
               (showLocation, errorHandler, options);
            }else{
               alert("Sorry, browser does not support geolocation!");
            }
         }
      </script>
   </head>
   <body>
      <div id="mapholder"></div>
      <form>
         <input type="button" onclick="getLocation();" value="Your Location"/>
      </form>
   </body>
</html>

更新於: 18-May-2020

2K+ 瀏覽

啟動您的事業

透過完成該課程獲得認證

開始使用
廣告