用Geolocation获取地理位置信息

这次给大家带来用Geolocation获取地理位置信息,用Geolocation获取地理位置信息的注意事项有哪些,下面就是实战案例,一起来看一下。

Html5中提供了地理位置信息的API,通过浏览器来获取用户当前位置。基于此特性可以开发基于位置的服务应用。在获取地理位置信息前,首先浏览器都会向用户询问是否愿意共享其位置信息,待用户同意后才能使用。

Html5获取地理位置信息是通过Geolocation API提供,使用其getCurrent注意事项方法,此方法中有三个参数,分别是成功获取到地理位置信息时所执行的注意事项,失败时所执行的回调函数和可选属性配置项。

如下Demo演示了通过Geolocation获取地理位置信息,并在百度地图上显示当前位置(通过调用百度地图API)。实验结果发现位置被定位到了大学城内环东四路入口处,与本人所在位置(华工学生宿舍)偏差还是有点大的,达到200-300米左右。

用Geolocation获取地理位置信息

代码如下所示(其中convertor.js为百度地图提供的坐标转化文件):

            H5地理位置Demo                                                

if (window.navigator.geolocation) { var options = { enableHighAccuracy: true, }; window.navigator.geolocation.getCurrentPosition(handleSuccess, handleError, options); } else { alert("浏览器不支持html5来获取地理位置信息"); } function handleSuccess(position){ // 获取到当前位置经纬度 本例中是chrome浏览器取到的是google地图中的经纬度 var lng = position.coords.longitude; var lat = position.coords.latitude; // 调用百度地图api显示 var map = new BMap.Map("map"); var ggPoint = new BMap.Point(lng, lat); // 将google地图中的经纬度转化为百度地图的经纬度 BMap.Convertor.translate(ggPoint, 2, function(point){ var marker = new BMap.Marker(point); map.addOverlay(marker); map.centerAndZoom(point, 15); }); } function handleError(error){ }

登录后复制

convertor.js文件:

(function() { // 闭包    function load_script(xyUrl, callback) {        var head = document.getElementsByTagName('head')[0];        var script = document.createElement('script');        script.type = 'text/javascript';        script.src = xyUrl;        // 借鉴了jQuery的script跨域方法        script.onload = script.onreadystatechange = function() {            if ((!this.readyState || this.readyState === "loaded" || this.readyState === "complete")) {                callback && callback();                // Handle memory leak in IE                script.onload = script.onreadystatechange = null;                if (head && script.parentNode) {                    head.removeChild(script);                }            }        };        // Use insertBefore instead of appendChild to circumvent an IE6 bug.        head.insertBefore(script, head.firstChild);    }    function translate(point, type, callback) {        var callbackName = 'cbk_' + Math.round(Math.random() * 10000); // 随机函数名        var xyUrl = "http://api.map.baidu.com/ag/coord/convert?from=" + type                + "&to=4&x=" + point.lng + "&y=" + point.lat                + "&callback=BMap.Convertor." + callbackName;        // 动态创建script标签        load_script(xyUrl);        BMap.Convertor[callbackName] = function(xyResult) {            delete BMap.Convertor[callbackName]; // 调用完需要删除改函数            var point = new BMap.Point(xyResult.x, xyResult.y);            callback && callback(point);        }    }    window.BMap = window.BMap || {};    BMap.Convertor = {};    BMap.Convertor.translate = translate;})();

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

注意事项

注意事项

以上就是用Geolocation获取地理位置信息的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3124924.html

(0)
上一篇 2025年3月29日 19:32:44
下一篇 2025年3月29日 19:33:13

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • phonegap获取位置信息详解

    这次给大家带来phonegap获取位置信息详解,phonegap获取位置信息的注意事项有哪些,下面就是实战案例,一起来看一下。 实例如下: Compass Example document.addEventListener(“devicer…

    编程技术 2025年3月29日
    100
  • 视频号怎么提高播放量和点赞量?哪个重要?

    在视频号平台的激烈竞争中,提升视频播放量和点赞量至关重要,直接影响着创作者的收益和影响力。本文由php小编香蕉撰写,将深入探讨如何有效提升这两个指标,分析两者之间的相互作用,并提供切实可行的策略。通过阅读本文,创作者将掌握提高视频号表现的秘…

    2025年3月29日
    100
  • Speedtest如何测网速-Speedtest测网速方法详解

    在数字时代,网络速度至关重要。speedtest作为一款流行的网络测速工具,能快速精准地测量您的家庭或办公网络带宽,提供下载、上传速度和延迟(ping值)等关键数据。本文将指导您如何使用speedtest进行网速测试。 Speedtest网…

    2025年3月29日
    100
  • 水印相机Prat多选版快捷指令

    prat多选版水印相机:快捷指令大全及使用指南 Prat多选版水印相机以其便捷的多选水印功能而备受青睐,其热度堪比徕卡水印相机。本文将为您提供Prat多选版水印相机的完整快捷指令指南。 Prat多选版支持多种热门水印,包括但不限于Apple…

    2025年3月29日
    100
  • soul在哪取消个人定位 soul关闭地理位置教程一览

    soul是一款基于位置的社交软件,方便用户寻找志同道合的朋友。但如果您担心隐私问题,可以轻松关闭地理位置共享功能。以下步骤将指导您完成操作: 首先,点击您的个人头像,进入设置界面。 然后,选择“隐私”选项。 最后,关闭“位置信息”权限即可。…

    2025年3月29日
    100
  • 奥维互动地图如何标记地理位置坐标-奥维互动地图标记坐标方法

    奥维互动地图坐标标记指南:高效利用地理信息 奥维互动地图作为一款强大的地理信息工具,广泛应用于户外探险、路线规划和地理学习等领域。 本文将指导您如何在奥维互动地图上精准标记坐标,提升地图使用效率。 步骤一:启动奥维互动地图 确保您已安装并登…

    2025年3月29日
    100
  • 抖音如何添加位置和店铺名称-抖音新增店铺位置及名称方法

    抖音店铺位置和名称添加指南:轻松提升店铺曝光率! 本文将详细介绍三种在抖音上添加店铺位置和名称的方法,助您快速提升店铺曝光度。 方法一:通过直播设置页面添加 登录抖音账号: 确保已登录您的抖音账号。 进入直播页面: 在抖音首页点击“直播”按…

    2025年3月29日
    100
  • 抖音发视频怎么更改自己的定位

    抖音视频定位修改指南:轻松设置你的视频位置!本文将手把手教你如何在抖音上修改视频定位,助你精准触达目标用户。 第一步:点击“+”号 打开抖音App,点击底部中间的“+”号按钮,开始创作你的视频。 第二步:点击“下一步” 完成视频拍摄和编辑后…

    2025年3月29日 互联网
    100
  • 2025男篮亚预赛直播几点开始-2025男篮亚预赛在哪里观看直播

    首先,你需要确定2025年男篮亚洲杯预选赛的具体比赛时间。可以通过官方渠道或体育新闻网站获取准确的比赛日程。 选择观看平台 其次,确认你所在地区的直播平台。通常各大体育频道、视频网站和社交媒体平台会提供赛事直播服务。确保所选平台支持你的地理…

    2025年3月29日
    100
  • 工程相机怎么改时间和地点 详细教程介绍

    轻松修改工程相机照片的拍摄时间和位置!本文将指导您如何使用手机应用修改照片的地理位置和拍摄时间信息。 首先,下载并安装一款支持修改照片信息的应用,例如“时间相机APP”(或其他类似应用)。安装后,请仔细阅读并同意用户隐私条款,并授予应用必要…

    2025年3月29日 互联网
    100

发表回复

登录后才能评论