我正在开发的项目使用Android智能手机(不知道是哪个版本,但最近的版本)来查找用户的当前位置。然而,目前,它提出了“分享当前位置”允许/拒绝问题,但随后什么也没做。如果你把它留在那,那么后面的页面会稍微重新加载,如果你允许它,那么它会在任何情况下重新加载。它应该在消息提示中显示该位置。
我会指出这适用于我可以访问的iPhone,并且在IE10中(我认为是)。
<asp:Button ID="btnLocate" Text="Loc" OnClientClick="return GetLocation()" runat="server" />
<script type="text/javascript">
function GetLocation()
{
if (navigator.geolocation)
{
navigator.geolocation.getCurrentPosition(ShowPosition, ShowError, { enableHighAccuracy: true, timeout: 31000, maximumAge: 90000 });
}
else{alert("Geolocation is not supported by this browser.");}
}
function ShowPosition(position)
{
alert(position.coords.latitude + "," + position.coords.longitude);
return false;
}
function ShowError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
alert("User denied the request for Geolocation.");
break;
case error.POSITION_UNAVAILABLE:
alert("Location information is unavailable.");
break;
case error.TIMEOUT:
alert("The request to get user location timed out.");
break;
case error.UNKNOWN_ERROR:
alert("An unknown error occurred.");
break;
}
}
</script>
我还应该提一下GPS已启用,Google地图能够立即找到该位置。
答案 0 :(得分:1)
他的代码的问题是该按钮充当表单提交操作。因此,即使浏览器暂停提示确定,一旦表单提交被解雇,它就会暂停。将return false添加到处理程序的末尾应该更正它(基本上说,&#34;不要提交此表单&#34;)。我不太了解ASP.Net,所以可能不是完全正确的。