Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> HTML

จะแสดงตำแหน่งปัจจุบันโดยใช้ HTML5 Geolocation กับ Google Maps ได้อย่างไร


HTML5 Geolocation API ช่วยให้คุณแบ่งปันตำแหน่งของคุณกับเว็บไซต์โปรดของคุณ จาวาสคริปต์สามารถจับละติจูดและลองจิจูดของคุณ และสามารถส่งไปยังเว็บเซิร์ฟเวอร์ส่วนหลัง และทำสิ่งต่าง ๆ ที่เกี่ยวข้องกับการรับรู้ตำแหน่ง เช่น ค้นหาธุรกิจในท้องถิ่นหรือแสดงตำแหน่งของคุณบนแผนที่ พิกัดตำแหน่งทางภูมิศาสตร์ระบุตำแหน่งทางภูมิศาสตร์ของอุปกรณ์

วิธีการระบุตำแหน่งทางภูมิศาสตร์ getCurrentPosition() และ getPositionUsingMethodName() ระบุวิธีการเรียกกลับที่ดึงข้อมูลตำแหน่ง เมธอดเหล่านี้เรียกว่าอะซิงโครนัสกับตำแหน่งของอ็อบเจ็กต์ซึ่งเก็บข้อมูลตำแหน่งทั้งหมดไว้

เราจะใช้วิธี getCurrentPostion() ในการรับตำแหน่งปัจจุบันโดยใช้ HTML5 Geolocation กับ Google Maps คุณต้องตั้งค่าคีย์ API สำหรับ Google Static Maps API

ไปที่ https://console.developers.google.com และรับคีย์ API ฟรีสำหรับ Google Map เพิ่มคีย์นี้ลงในโค้ดเพื่อใช้งาน Geolocation

จะแสดงตำแหน่งปัจจุบันโดยใช้ HTML5 Geolocation กับ Google Maps ได้อย่างไร

คุณสามารถลองเรียกใช้โค้ดต่อไปนี้เพื่อแสดงตำแหน่งปัจจุบันโดยใช้ HTML5 Geolocation กับ Google Maps

ตัวอย่าง

<!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+"&amp;zoom=14&amp;size=400x300&amp;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="Get Location"/>
      </form>
   </body>
</html>