I have recently going through some of the interesting things which can be done using HTML 5 , the next generation of web . One of the API which got my attention is GEOLOCATION .
here using this API we can get to know the current user latitude and longitude and using MAP's we can exactly show you the user's current location . Please go through the details over internet and i am sure you will definetly try this out .
let's not waste time , i will show you a simple demo of how to make use of this API in tracking the exact location .
let's create a simple .aspx page with the following layout
Geolocation.aspx :
<body> <div> <div id ="message" ></div> <div id="position"></div> <div id="map" style="border:1px solid blue; height:400px;width:400px"> </div> </body>
i just created a div tag for showing the map .i hope every one knows about JQUERY [ its a fast, concise, library that
simplifies how to traverse HTML documents, handle events, perform animations , if you are not familiar with it , i would advice you to go through it ,
and i am sure you gonna love the power of JQUERY ]
i have made use of JQUERY in my code and i have written a small javascript for using the HTML5 built in GeoLocation API .
javascript code :
<head runat="server"> <title>Geolocation</title> <script src="../../Scripts/jquery-1.4.1.js" type="text/javascript"></script> <script src=http://maps.googleapis.com/maps/api/js?sensor=false
type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function () { var message = $("#message"); var position = $("#position"); if (window.navigator.geolocation) { message.html("locating"); var geolocation = window.navigator.geolocation; var options = { enableHighAccuracy: true} geolocation.getCurrentPosition(onComplete, onFail, options); } else { message.html("No support"); } }); function onComplete(geoPosition) { $("#position").append("<p> Latitude" + geoPosition.coords.latitude + "</p>"); $("#position").append("<p> Longitude" + geoPosition.coords.longitude + "</p>"); Initializemap(geoPosition.coords.latitude, geoPosition.coords.longitude); } function onFail() { alert("Failed "); } function Initializemap(latitude, longitude) { var Latlng = new google.maps.LatLng(latitude, longitude); var options = {zoom: 18, center: Latlng, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map"),options); } </script> </head>
i have used document ready() function which will be called as soon as the page get's loaded .
Note: The highlighted portion in the above codei.e..geolocation.getCurrentPosition(onComplete, onFail, options); is the main part which uses the getCurrentPosition()
method of the geolocation API which provides us with the Latidude and Longitude coordinates . Here we have provided 2 methods , to inform that if everything is
successful it will call the onComplete() method or incase of any errors in the code
it will call onFail() method .
i have created another Function Initializemap which takes the inputs as the 2 coords latitude and longitude and provides us with the map showing us exact current user location .
output:
it gives us the location like the picture below [ my work location ]