6

ユーザーのデバイスから現在の GPS 位置情報を取得し、基本的に緯度と経度をフォーム フィールドにドロップします。その後、場所を挿入した後は何でもできます。

以下のコードは、私が始めたポップアップアラートの場所で機能します。ボタンをクリックして、長い/緯度をフォームフィールドに入力できるようにしたいと考えています。

<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>
4

2 に答える 2

6

私の友人が私を助けてくれました...これは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>
于 2012-04-22T15:14:33.337 に答える
0

@Merle_The_Pearl によって提供されたコードは、OSX 上の Safari および Firefox でも機能しますが、ユーザーが位置情報を提供しないことにした場合、Firefox は「onGeoError」を呼び出さないという注目すべき例外があります。これは、W3C 仕様を無視するという Mozilla の人々による不幸なポリシー決定のようですhttps://bugzilla.mozilla.org/show_bug.cgi?id=675533

于 2016-03-08T05:02:25.880 に答える