Mình đã từng viết 1 bài hướng dẫn bạn cách xác định vị trí của mình bằng IP đang sử dụng. Tuy nhiên cách này không thật chính xác nên đôi khi địa chỉ bạn đang ở một nơi mà IP lại có địa chỉ 1 nẻo.
Nếu trình duyệt của bạn hỗ trợ HTML5 thì bạn hoàn toàn có thể sử dụng Javascript để xác định chính xác vị trí.
Dưới đây là đoạn mã bạn dùng để xác định vị trí đồng thời hiển thị vị trí lên bản đồ Google Maps.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | function getLocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(setPosition); } else { x.innerHTML = "Geolocation is not supported by this browser."; } } function setPosition(position) { var latitude = position.coords.latitude; var longitude = position.coords.longitude; var myLatlng = new google.maps.LatLng(latitude,longitude); var myOptions = { zoom: 8, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); var marker = new google.maps.Marker({ position: myLatlng, map: map, title:"IP Location!" }); } |
Bạn gọi hàm getLocation(), lúc này trình duyệt sẽ bật một popup hỏi bạn có đồng ý cho phép nó lấy thông tin vị trí của bạn không. Nếu đống ý thì nó sẽ trả về 2 giá trị là kinh độ (longitude) và vĩ độ (latitude). Và từ 2 giá trị này sẽ truyền vào hàm setPosition() để bạn kết hợp với Google Maps API để hiển thị vị trí chính xác trên bản đồ.
Dĩ nhiên ở đây mình chỉ hướng dẫn những bước cơ bản. Muốn chi tiết các bạn cần khám phá thêm để hoàn thiện.
Chúc các bạn thành công.
Huỳnh Mai Anh Kiệt