2012-04-21 43 views
5

Tôi muốn lấy Vị trí GPS hiện tại từ thiết bị của người dùng và về cơ bản thả Lat và Dài thành các trường biểu mẫu. Sau đó, tôi có thể làm bất cứ điều gì sau khi chèn vị trí.Nhập biểu mẫu Javascript - GPS - Vị trí địa lý

Mã bên dưới hoạt động cho vị trí thông báo bật lên, đó là những gì tôi bắt đầu. Tôi muốn có thể nhấp vào một nút và có nó cư trú dài/lat vào các lĩnh vực hình thức.

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

Trả lời

6

bạn bè của tôi đã giúp tôi ra ... này hoạt động 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> 
+0

có cơ hội nào cho chúng tôi biết thiết bị nào hoạt động không? –

+1

Hoạt động trên Android Tablet (Galaxy) - Samsung Galaxy II, iPhone, iPad, iPhone ... Dịch vụ định vị cần được bật cho iPhone/iPad –

0

Các mã được cung cấp bởi @Merle_The_Pearl làm việc trong Safari và Firefox trên OSX cũng với ngoại lệ đáng chú ý là Firefox không không gọi "onGeoError" nếu người dùng quyết định không cung cấp vị trí của họ. Điều này dường như là một quyết định chính sách không may của người Mozilla để bỏ qua thông số W3C https://bugzilla.mozilla.org/show_bug.cgi?id=675533

Các vấn đề liên quan