我是一个 javascript 菜鸟,我正在尝试使用 Firefox 3.5 中的新地理定位 API 来估计用户的坐标并将其放入表单中的文本框中。我所拥有的似乎不起作用;似乎在实际检索该位置之前已填充了这些框。这是我到目前为止所拥有的:
<html>
<head>
<script type="text/javascript">
var lati =0;
var longi =0;
function getPosition(position)
{
lati = position.coords.latitude;
longi = position.coords.longitude;
}
function writeLati(form)
{
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(getPosition);
lati = position.coords.latitude;
longi = position.coords.longitude;
form.latitude.value = lati;
form.longitude.value = longi;
} else {
form.latitude.value = "3";
form.longitude.value = "5";
document.write("Your shitty browser can't do geolocation. Get Firefox 3.5.");
}
}
</script>
</head>
<body onLoad="writeLati(locform)">
<form name="locform" action="submit.php" method="post" >
Latitude: <input type="text" name="latitude" value=""/>
Longitude: <input type="text" name="longitude" value="" />
Gender: <input type="radio" name="gender" value="Male" /> Male <input type="radio" name="gender" value="Female" checked="checked" /> Female
<input type="submit" />
</form>
</body>