哪些设备通过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立一个包含以下内容的设备列表:

  1. 开箱即用支持此function
  2. 通过升级支持此function,或者
  3. 支持与其他一些JavaScript代码保持同等的数据保真度。

我只熟悉我自己的设备,所以这是我的目录:

盒子外面:

  1. iPhone 3GS

支持,但只有更新

  1. iPhone 3G
  2. iPhone 2G(?)
  3. 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的独立应用程序。

http://code.google.com/p/geo-location-javascript/

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)版本是免费的。