2015-02-11 49 views
0

我使用的是HTML5地理位置,并希望存储的纬度和经度为两个独立的文本框,而不是屏幕存储javascript变量成HTML文本框中

下面就被简单地显示是代码:

Current Location: <BR> 

<button onclick="getLocation()">Locate</button> 
<p id="demo"></p> 

<script> 
    var x = document.getElementById("demo"); 

    function getLocation() { 
     if (navigator.geolocation) { 
      navigator.geolocation.getCurrentPosition(showPosition); 
     } else { 
      x.innerHTML = "Geolocation is not supported by this browser."; 
     } 
} 

    function showPosition(position) { 
     x.innerHTML = "Latitude: " + position.coords.latitude + 
     "<br>Longitude: " + position.coords.longitude; 

} 
</script> 

回答

0

您需要在页面上有一对文本框,并设置它们的value s。

Current Location: <BR> 

<button onclick="getLocation()">Locate</button> 
<p id="demo"> 
    Latitude: <input type="text" id="lat"> 
    Longitude: <input type="text" id="lon"> 
</p> 

<script> 
    function getLocation() { 
     if (navigator.geolocation) { 
      navigator.geolocation.getCurrentPosition(showPosition); 
     } else { 
      x.innerHTML = "Geolocation is not supported by this browser."; 
     } 
} 

    function showPosition(position) { 
     document.getElementById("lat").value = position.coords.latitude; 
     document.getElementById("lon").value = position.coords.longitude; 

} 
</script> 

您还可以通过用JavaScript编写出来的文本框做到这一点:

function showPosition(position) { 
     x.innerHTML = "Latitude: <input type='text' id='lat' value='" + position.coords.latitude + "'> " + 
     "Longitude: <input type='text' id='lon' value='" + position.coords.longitude + "'> "; 


} 
+0

嗯是的,但你也可以生成文本框,如果他们不存在 – 2015-02-11 01:04:19

+0

@DustinPoissant请参阅我的答案的第二部分。 – Hydrothermal 2015-02-11 01:04:40

1

假设你想在设定值的两个文本框分别是:

Latitude: <input type="text" id="lat"><br> 
Longitude: <input type="text" id="long"> 

你可以添加以下行到您的JS选择适当的文本框并存储值。

document.getElementById("lat").setAttribute("value", position.coords.latitude);