初识 Geolocation API 获取用户的物理地址
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论