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
ตัวอย่าง
<!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="Get Location"/> </form> </body> </html>