技术CTO-关注编程入门知识,提供编程入门教程

您的位置: 首页 > 前端开发 > html/html5 > 正文

网页上使用position.coords.latitude 获取经纬度失败

来源: 技术CTO 阅读:

各位前辈,小弟在使用微信访问自定义网页中定位的时候 通过JavaScript 代码:position.coords.latitude 有些手机能获取到经纬度数值. 大部分手机直接报错出超时的错误。 该代码是HTML5网页上取得经纬度的标准代码。 报错的手机也开启了位置服务并且将浏览器也升级为最新的了. 代码如下
 if (navigator.geolocation) 
        {
            alert('该浏览器支持位置服务');
        } 
        else {
            alert('该浏览器不支持位置服务');
         }


        window.onload = startgps();
        function startgps() {
            var gps = navigator.geolocation;
            if (gps) {
                gps.getCurrentPosition(showgps,
                               function (error) {
                                   // alert("Got an error, code: " + error.code + " message: " + error.message);
                                   alert("请开启位置服务!");
                               },
                               { maximumAge: 10000 }); // 这里设置超时为10000毫秒,即10秒
            }
            else {
                showgps();
            }
        }

        function showgps(position) {
            if (position) {
                var latitude = position.coords.latitude;
                var longitude = position.coords.longitude;
                //alert("latitude: " + latitude + "\r\n longitude: " + longitude);

                //取地址信息


                document.getElementById("txtLongitude").value = longitude;
                document.getElementById("txtLatitude").value = latitude;

                address(longitude, latitude);

            }
            else
                alert("未取到位置信息!");
        }

        var map = new BMap.Map("dituContent");
        var gc = new BMap.Geocoder();

        function address(longitude, latitude) {
            var pt = new BMap.Point(longitude, latitude);
            gc.getLocation(pt, function (rs) {
                var addComp = rs.addressComponents;
                document.getElementById("txtAddress").value = addComp.city + addComp.district + addComp.street + addComp.streetNumber;
               
                // alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);


            });
        }

分不多,不好意思。请给位牛人启发一下

没弄过 路过
引用 1 楼 mdpmw 的回复:
没弄过 路过

谢谢帮顶
这个超时跟你的手机和最近的基站有多远有关系,浏览器只是取接口的数据。
引用 2 楼 fnmxclsky 的回复:
Quote: 引用 1 楼 mdpmw 的回复:

没弄过 路过

谢谢帮顶

 呵呵

^_^ 如果您热爱技术、热爱编程,想与更多的朋友一起交流学习,欢迎加入本站官方QQ群:345733473 ^_^