Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Javascript Form Input - GPS - GeoLocation

I want to get the current GPS Location from the user's device, and basically drop Lat and Long into form fields. Then I can do whatever after inserting the location.

The code below works for a pop up alert location, which is what I started with. I want to be able to click a button and have it populate the long/lat into the form fields.

<html> 
<head> 


<script type="text/javascript"> 
function getLocationConstant()
{
  if(navigator.geolocation)
  {
    navigator.geolocation.getCurrentPosition(onGeoSuccess,onGeoFormLat,on GeoFormLong,onGeoError); 
  } else {
    alert("Your browser or device doesn't support Geolocation");
  }
}

// If we have a successful location update
function onGeoSuccess(event)
{
  alert(event.coords.latitude + ', ' + event.coords.longitude);
}

function onGeoFormLat(event)
{
  var myVal;
  myVal = document.getElementById(event.coords.latitude).value;
}

function onGeoFormLong(event)
{
  var myVal;
  myVal = document.getElementById(event.coords.longitude).value;
}

// If something has gone wrong with the geolocation request
function onGeoError(event)
{
  alert("Error code " + event.code + ". " + event.message);
}

// Called when we want to stop getting location updates
function stopGetLocation(event)
{
  navigator.geolocation.clearWatch(watchID); 
}

</script>


</head>
<body>
  <br><br>
  Latitude: <input type="text" id="Latitude" name="onGeoFormLat" value="">
  <br><br>
  Longitude: <input type="text" id="Longitude" name="onGeoFormLong" value="">
  <br>

  <br><br><br>
  <input type="button" value="Get Location" onclick="getLocationConstant()" />
  <br><br>

</body>
</html>
like image 279
Merle_the_Pearl Avatar asked Apr 21 '12 23:04

Merle_the_Pearl


Video Answer


1 Answers

Friend of mine helped me out... This works gr8

 <script type="text/javascript"> 
 function getLocationConstant()
{
    if(navigator.geolocation)
    {
        navigator.geolocation.getCurrentPosition(onGeoSuccess,onGeoError);  
    } else {
        alert("Your browser or device doesn't support Geolocation");
    }
}

// If we have a successful location update
function onGeoSuccess(event)
{
    document.getElementById("Latitude").value =  event.coords.latitude; 
    document.getElementById("Longitude").value = event.coords.longitude;

}

// If something has gone wrong with the geolocation request
function onGeoError(event)
{
    alert("Error code " + event.code + ". " + event.message);
}
 </script>

 <br><br>
 <cfform action="gps2.cfm" method="post">
 Latitude: <input type="text" id="Latitude" name="Latitude" value="">
 <br><br>
 Longitude: <input type="text" id="Longitude" name="Longitude" value="">
 <br><br>
 <input type="button" value="Get Location" onclick="getLocationConstant()"/>
 <br><br>
 <input type="submit" value="Add GPS Location" class=small>
 </cfform>
like image 133
Merle_the_Pearl Avatar answered Sep 22 '22 12:09

Merle_the_Pearl