初识 Geolocation API 获取用户的物理地址

发布于 2019-05-22 19:30:33 字数 1794 浏览 1741 评论 0

Geolocation API 现在几乎可以在所有的浏览器上运行,但是需要用户的授权,在 Web 开发中,有一个有趣的功能,那就是用户的物理位置定位,你的用户在哪里浏览你的网站,您可以根据用户的物理位置和根据用户的语言环境,在该数据或显示特定产品。

让我们看看如何使用 GeolocationAPI 获取位置信息。

检测浏览器的地理定位功能

特征检测是确定 Geolocation API 是否被支持的最好方式。

if("geolocation" in navigator) {
    //w00t!
}else {
    alert("对不起,你的浏览器不支持 GeolocationAPI");
}

上面的代码关键是在你的浏览器中检测 navigator.geolocation 对象,使用 in 而不是简单的使用 if(navigator.geolocation) 是非常重要的,检查可以初始化地理定位和占用设备资源。

对于地理位置信息查询

navigator.geolocation.getCurrentPosition 函数是检索位置信息后的重要方法。

if("geolocation" in navigator) {
    navigator.geolocation.getCurrentPosition(function(position) {
        console.log(position);
    });
}

一旦你调用这个方法(提供它的功能,如果你的请求是成功的),浏览器会询问用户,如果他们将允许你检索他们的位置信息:

当用户允许网站获取位置信息,浏览器获取信息,为您提供一个有效位置对象,看起来位置对象:

// "Position" object
{
    coords: { "Coordinates" object
        accuracy: 65,
        altitude: 294.4074401855469,
        altitudeAccuracy: 10,
        heading: -1,
        latitude: 43.01256284360166,
        longitude: -89.44531987692744,
        speed: -1
    },
    timestamp: 1429722992094269
}

如果你想要更多的信息,如国家、城市等等,你可以使用三维定位服务。

点击这里查看实例:Geolocation API 示例页面

总结

这个接口是许多移动应用程序的基础,真正的应该是在任何网络开发者的工具箱里。最好的是所有的浏览器都支持地理定位 API。

详细文档请参阅:第四章 Geolocation API

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

qq_Yqvrrd

文章 0 评论 0

2503248646

文章 0 评论 0

浮生未歇

文章 0 评论 0

养猫人

文章 0 评论 0

第七度阳光i

文章 0 评论 0

新雨望断虹

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文