html5实现移动端的定位

h5实现定位之前一直以为只能依赖iOS和Android原生的能力,这次工作上刚好有这个需求,就想折腾下不依赖原生能力能否实现移动端的定位。
在pc上实现定位,在手机上运行时,都会报无法获取位置信息的错误。后来发现腾讯地图居然可以完全不依赖原生实现手机定位,算是一个意外的收获,不用和原生交互省了很多事情。功能开发完成上线了,关键代码贴在这里记录一下:

<!--引入腾讯地图定位能力-->
<script type="text/javascript" src="https://3gimg.qq.com/lightmap/components/geolocation/geolocation.min.js"></script>

<script>
    var geolocation = new qq.maps.Geolocation("OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77", "myapp");

    var options = {timeout: 8000};
    function showPosition(position) {
        alert('定位成功');
        //position即为获取的定位信息的对象
    };

    function showErr() {
       alert('定位失败');
    };

    //获取位置信息
    geolocation.getLocation(showPosition, showErr, options);
</script>

但是在测试过程中还碰到一些问题,相同定位代码的html页面,在Android手机里qq、微信和大部分浏览器里都能精准定位,但是在部分手机自带浏览器和简单的一个Android webview demo里只能粗糙定位,定位到市政府或者区政府。
考虑到是不是webview的环境问题,我在webview中注入腾讯X5内核,结果还是不能精确定位,现在暂时还没有解决这个问题。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值