哪些设备通过navigator.geolocation支持Javascript地理位置?
iPhone通过以下调用支持移动Safari中的地理位置:
navigator.geolocation.getCurrentPosition( function(pos){ var lat = pos.coords.latitude; var long = pos.coords.longitude; }, function(){ /* Handler if location could not be found */ } );
我想build立一个包含以下内容的设备列表:
- 开箱即用支持此function
- 通过升级支持此function,或者
- 支持与其他一些JavaScript代码保持同等的数据保真度。
我只熟悉我自己的设备,所以这是我的目录:
盒子外面:
- iPhone 3GS
支持,但只有更新
- iPhone 3G
- iPhone 2G(?)
- PC或Mac电脑与Firefox 3.5
支持一些其他片段
?
黑莓,Android手机等支持的程度是什么?
虽然我认为在W3C地理定位API (顺便说一句)上标准化是一个很好的做法,值得注意的是在浏览器中还有其他一些选项,如果您需要定位到一个较旧的平台,这可能特别有用。
- Firefox 3.1支持Geode ,它使用非常相似的语法调用
navigator.geolocation
。 - Loki是由Skyhook构build的一个插件,可在Internet Explorer 6,Internet Explorer 7,Firefox 2,Firefox 3,Safari和Opera上运行。 语法大不相同,但仍然很容易 。
- Google Gears提供的地理定位API的语法与W3C API语法非常相似。 您可以在Internet Explorer 6+,Firefox 1.5+,Safari,Opera Mobile和IE Mobile上安装Google Gears。
截至目前, W3C Geolocation API (广泛与HTML 5技术上不属于技术上的一部分相关)在以下主要桌面浏览器中得到支持:
- Firefox(自3.5)
- Safari(自5.0)
- Google Chrome(版本取决于操作系统)
- 歌剧(自10.60)
- Internet Explorer(自IE 9以来)
至less有两个移动浏览器实现了Geolocation API:
- Safari Mobile(自iPhone OS 3.0以来)
- Android(至lessAndroid 1.6以上)
在所有这些平台上,您应该可以使用navigator.geolocation.getCurrentPosition等
从类似的更近期的话题:
“我正在开发一个开源的库,它支持所有支持W3C标准的支持javascript的手机,到目前为止,它支持iPhone,Android,BlackBerry和一些在浏览器中运行的附带浏览器平台。诺基亚OVI和Palm WebOS的独立应用程序。
W3C版本适用于Android 2. *。 在Android 1.6上,你可以回退到齿轮,这将以相同的方式工作。 从理论上讲,W3C标准也应该适用于Firefox手机(Fennec),该手机目前可用于诺基亚的Maemo设备,并将成为MeeGo的标准。
你不必有最新的手机使用GPS和地理定位API。 几乎所有的移动浏览器(无代理服务器)都可以用来读取来自buidin GPS的位置。 如果您的手机具有Java和GPSfunction – 您可以使用mobile-gps-web-gate – 请参阅http://code.google.com/p/mobile-gps-web-gate/
我知道这是一个老问题,但是您可以在这里find支持地理定位的设备列表: http : //www.quirksmode.org/webkit.html 。 这个列表由网站作者维护,因此应该保持最新状态。
Franson的GPSGate是一个商业产品,可以通过JavaScript将Windows机器的硬件GPS暴露给任何浏览器。 虽然这个接口与W3C的实现有些不同。
更新:GPSGate的Express (lite)版本是免费的。