javascript – HTML5地理位置与Google地图Geolocation api

前端之家收集整理的这篇文章主要介绍了javascript – HTML5地理位置与Google地图Geolocation api前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有点困惑,为什么我会选择使用有限的访问 Google Maps Geolocation API在HTML5的免费和(显然) unlimited navigator.geolocation功能

据我所知,Google版本的唯一优势是增加了对IE8等浏览器的支持.我在这里缺少什么重要的东西吗?还是有什么区别?

在进一步调查中,我们注意到,Chrome实际上是拨打Google api来获取信息(backed up by this answer from 6 years ago).所以这就提出了这个问题呢,还是有限的吗?如果是这样在多少时间内呢?

解决方法

Google Maps Geolocation API是一个HTTP端点,可接受用户提供的关于附近Wifi网络和单元塔的JSON数据,并对用户的位置进行估计.

HTML5的navigator.geolocation对象提供一个浏览器API,它执行一些操作,然后产生用户位置的估计.从W3C geolocation spec

The API itself is agnostic of the underlying location information sources. Common sources of location information include Global Positioning System (GPS) and location inferred from network signals such as IP address,RFID,WiFi and Bluetooth MAC addresses,and GSM/CDMA cell IDs,as well as user input.

navigator.geolocation功能可以利用浏览器应用程序可用的任何信息,包括来自设备的GPS硬件的任何信息(如果有的话).当然,它也可以使用可以达成的任何第三方Web API(包括可能的Google Maps Geolocation API).没有必要或必须使用的指定的必需方法或输入;浏览器可以做任何事情来做一个位置估计.它可能比Google的做法更好或更差,这取决于他们的特定实现,或者浏览器可能(如你所建议的)实际上直接使用Google的API.

简而言之,Google的API是一种方式,要求,“根据这个单元格和Wifi信息,告诉我我在哪里. HTML5 API是一种告诉浏览器“您可以访问互联网和我的设备可用的所有物理输入的方式,找出我在哪里,不知何故”.

我不惊讶地得知,如果没有GPS,浏览器可能将其地理位置工作外包给像Google这样的第三方服务.浏览器供应商通常对制作浏览器感兴趣,而不是编写强大的服务来解决将单元/ Wifi数据转换为位置信息的难题.此外,它需要大量关于各种塔和Wifi SSID的位置的地理空间数据.这将使浏览器膨胀,以便在本地保存所有信息,并且任何希望远程托管信息的尝试将在功能上成为Google已知的良好服务的竞争对手.

猜你在找的JavaScript相关文章