HTML5地理定位navigator.geolocation.getCurrentPosition的问题

tianshisuo 2015-06-10 10:03:02
写了个简单的页面。用navigator.geolocation.getCurrentPosition定位。
在PC端访问:
IE可以获取经纬度。
Google Chrome报error.POSITION_UNAVAILABLE错。
Mozilla Firefox报error.TIMEOUT错。
手机端访问:
Safari报error.TIMEOUT错。
三星Note2自带浏览器报error.TIMEOUT错。

求大神帮忙分析原因啊!
...全文
26249 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
陈晓芭 2018-09-03
  • 打赏
  • 举报
回复
引用 7 楼 tianshisuo 的回复:
[quote=引用 4 楼 gy127132060 的回复:]
[quote=引用 3 楼 tianshisuo 的回复:]
[quote=引用 1 楼 gy127132060 的回复:]
gps调用权限问题。
Chrome去设置里允许定位。。
手机打开Gps权限。


Chrome已经允许定位了。

手机打开gps权限能详细点吗?iphone和安卓的gps都打开了。
iphone对safari有位置相关的设置吗?[/quote]

也不知道楼主采用的都是什么手机进行测试的。。。

苹果应该是设置中隐私里有定位服务。。
安卓一般是设置里有位置服务之类的,,楼主的手机就只能自己好好找找看了。。。。[/quote]

感谢!苹果手机在隐私里找到了针对safari的单独设置。
安卓,打开了定位服务,还不行,再摸索一下,渐现曙光。[/quote]


我的安卓都打开了可是还是说我权限拒绝
kkjjww 2016-10-11
  • 打赏
  • 举报
回复
我的可以啊~
  • 打赏
  • 举报
回复
在iPhone5 iphone6 iphone6s中出现了 error.POSITION_UNAVAILABLE;其他型号的苹果和安卓机型是好的;这个是怎么回事啊?
中土流域 2016-10-11
  • 打赏
  • 举报
回复
哈哈,看了17楼的链接,感觉可以哎,明天试下
connect_ 2016-08-17
  • 打赏
  • 举报
回复
https://www.mozilla.org/zh-CN/firefox/geolocation/ 这里说navigator.geolocation 会去调用 google ,“发送给默认的位置定位服务提供者,也就是谷歌位置服务,由它来计算您的位置。最后您的位置信息就在您请求的网站上被共享出来。 ” 当被墙时,一切都是枉然~~
mym_mm 2016-08-04
  • 打赏
  • 举报
回复
楼主,我也遇到了同样的问题,请问楼主是怎么解决的呢?
Joson.e8love 2016-05-05
  • 打赏
  • 举报
回复
这样是可以的但是 不怎么准确(⊙o⊙)哦 上班看滴滴 手机打开 定位很准
Joson.e8love 2016-05-05
  • 打赏
  • 举报
回复


        if (navigator.geolocation) {

            navigator.geolocation.getCurrentPosition(locationSuccess, locationError, {
                // 指示浏览器获取高精度的位置,默认为false
                enableHighAccuracy: true,
                // 指定获取地理位置的超时时间,默认不限时,单位为毫秒
                timeout: 5000,
                // 最长有效期,在重复获取地理位置时,此参数指定多久再次获取位置。
                maximumAge: 3000
            });

        } else {

            alert("Your browser does not support Geolocation!");
            alert("浏览器不支持html5来获取地理位置信息");
        }




        function locationSuccess(position) {
            // 获取到当前位置经纬度  本例中是chrome浏览器取到的是google地图中的经纬度 
            var lng = position.coords.longitude; 
            var lat = position.coords.latitude;

			alert(lng);
		    alert(lat);
            //console.log(lng);
            //console.log(lat);

            // 调用百度地图api显示 
            var map = new BMap.Map("Map");
            var point = new BMap.Point(lng, lat);

			var marker = new BMap.Marker(point);  // 创建标注'

            map.addOverlay(marker);
            map.centerAndZoom(point, 15);
		    map.addControl(new BMap.NavigationControl());



        function locationError(error){

            switch(error.code) {
                case error.TIMEOUT:
                    showError("A timeout occured! Please try again!连接超时,请重试 ");
                    break;
                case error.POSITION_UNAVAILABLE:
                    showError('We can\'t detect your location. Sorry!亲爱的火星网友,非常抱歉,我们暂时无法为您所在的星球提供位置服务');
                    break;
                case error.PERMISSION_DENIED:
                    showError('Please allow geolocation access for this to work.您拒绝了使用位置共享服务,查询已取消');
                    break;
                case error.UNKNOWN_ERROR:
                    showError('An unknown error occured!');
                    break;
            }
        }

        function showError(error) { console.log(error); }



<!DOCTYPE html> 
<html> 
   <head> 
       <title>H5地理位置Demo</title> 
       <script src="http://api.map.baidu.com/api?v=2.0&ak=B890bb83a6cf9664b3428b3fcb2506f2" type="text/javascript"> 
       </script> 
       
       </script> 
   </head> 
    <body> 
        <div id="Map" style="width:600px; height:400px"> 
        </div> 

        <div id="allmap" style="width:600px; height:400px"> 
        </div> 

    </body>  

 <script> 

Js放这里就可以了

   </script> 
 
</html> 

Joson.e8love 2016-05-05
  • 打赏
  • 举报
回复
https://common.diditaxi.com.cn/general/webEntry?wx=true&bizid=257&channel=70365 手机打开 滴滴打车 这个定位怎么做的? 正在找 有没有这样的接口
misswangjinfeng 2016-05-04
  • 打赏
  • 举报
回复
Internet Explorer 9、Firefox、Chrome、Safari 以及 Opera 支持地理定位。
赤晴出征了 2016-04-23
  • 打赏
  • 举报
回复
chrome定位是用的https://www.googleapis.com 需要连vpn
宗璞 2015-10-21
  • 打赏
  • 举报
回复
楼主,在pc浏览器能实现吗,我也遇到这个问题,不知咋办
zekelove 2015-06-16
  • 打赏
  • 举报
回复
谷歌浏览器要开启允许定位功能
tianshisuo 2015-06-10
  • 打赏
  • 举报
回复
引用 4 楼 gy127132060 的回复:
[quote=引用 3 楼 tianshisuo 的回复:] [quote=引用 1 楼 gy127132060 的回复:] gps调用权限问题。 Chrome去设置里允许定位。。 手机打开Gps权限。
Chrome已经允许定位了。 手机打开gps权限能详细点吗?iphone和安卓的gps都打开了。 iphone对safari有位置相关的设置吗?[/quote] 也不知道楼主采用的都是什么手机进行测试的。。。 苹果应该是设置中隐私里有定位服务。。 安卓一般是设置里有位置服务之类的,,楼主的手机就只能自己好好找找看了。。。。[/quote] 感谢!苹果手机在隐私里找到了针对safari的单独设置。 安卓,打开了定位服务,还不行,再摸索一下,渐现曙光。
tianshisuo 2015-06-10
  • 打赏
  • 举报
回复
补充: 最新发现。在安卓和苹果手机上,微信里面直接打开网页都可以了。用浏览器直接访问还是不行。是浏览器缓存问题吗?
tianshisuo 2015-06-10
  • 打赏
  • 举报
回复
补充: 在一台iPhone5上用safari可以获取到位置。 是不是浏览器缓存的原因?
香蕉猪 2015-06-10
  • 打赏
  • 举报
回复
引用 3 楼 tianshisuo 的回复:
[quote=引用 1 楼 gy127132060 的回复:] gps调用权限问题。 Chrome去设置里允许定位。。 手机打开Gps权限。
Chrome已经允许定位了。 手机打开gps权限能详细点吗?iphone和安卓的gps都打开了。 iphone对safari有位置相关的设置吗?[/quote] 也不知道楼主采用的都是什么手机进行测试的。。。 苹果应该是设置中隐私里有定位服务。。 安卓一般是设置里有位置服务之类的,,楼主的手机就只能自己好好找找看了。。。。
tianshisuo 2015-06-10
  • 打赏
  • 举报
回复
引用 1 楼 gy127132060 的回复:
gps调用权限问题。 Chrome去设置里允许定位。。 手机打开Gps权限。
Chrome已经允许定位了。 手机打开gps权限能详细点吗?iphone和安卓的gps都打开了。 iphone对safari有位置相关的设置吗?
加载更多回复(2)

43,739

社区成员

发帖
与我相关
我的任务
社区描述
HTML5是构建Web内容的一种语言描述方式。HTML5是互联网的下一代标准,是构建以及呈现互联网内容的一种语言方式.被认为是互联网的核心技术之一。
社区管理员
  • HTML5社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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