调用html geolocation的js使用手机浏览器就能调用成功,pc的浏览器就不能,为什么呢?

zry163 2014-03-05 12:30:20
调用html geolocation的js使用手机浏览器就能调用成功,pc的浏览器就不能,为什么呢?
(而且手机测试除了chrom不知道为啥不行之外其他浏览器(safari,百度浏览器...)基本都怎样都可以,但是pc端的刷新几次就会失效)思路是首先用 HTML geolocation API拿到 经纬度,然后将经纬度发送请求传给百度地图 api, 进行反向地理编码的地址查询。

下面是源码,求指导:
<!DOCTYPE html>
<html>
<body>
<p id="demo">click here to get your location:</p>
<button onclick="getLocation()">click here</button>


<script>
var x=document.getElementById("demo");
function getLocation(){
if(navigator.geolocation){
navigator.geolocation.getCurrentPosition(showPosition);
}else{
alert("not supported");
}
}

function showPosition(position){

var positionOptions={
enableHighAccuracy:true,
timeout:5000, //单位毫秒
maximumAge:1000*60
}

lat=position.coords.latitude;
lon=position.coords.longitude;
//var map = new BMap.Map("container"); // 创建Map实例
var point = new BMap.Point(lon, lat); // 创建点坐标
//map.centerAndZoom(point,15); //
//map.enableScrollWheelZoom();
var gc = new BMap.Geocoder();
gc.getLocation(point, function(rs){
var addComp = rs.addressComponents;
alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street);
});
}
</script>
</body>
</html>
...全文
137 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zry163 2014-03-05
  • 打赏
  • 举报
回复
其实设置过超时时间也是手机端能正常访问,pc端不稳定,求解~!!!!!

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧