哪些设备通过 navigator.geolocation 支持 Javascript 地理定位?

IT技术 javascript geolocation gps mobile-phones mobile-website
2021-03-01 03:08:51

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 */
  }
);

我想建立一个良好的设备列表,这些设备具有以下其中一项:

  1. 开箱即用地支持此功能,或
  2. 通过升级支持此功能,或
  3. 使用其他一些 Javascript 片段支持具有等效数据保真度的地理定位。

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

盒子外面:

  1. iPhone 3GS

支持,但只有更新

  1. iPhone 3G
  2. iPhone 2G (?)
  3. 装有 Firefox 3.5 的 PC 或 Mac 计算机

支持其他一些片段

?

黑莓、Android 手机等的支持程度如何?

6个回答

截至今天,以下主要桌面浏览器支持W3C 地理定位 API(与 HTML 5 广泛相关,但在技术上并非其一部分):

  • Firefox(自 3.5 起)
  • Safari(从 5.0 开始)
  • 谷歌浏览器(版本取决于操作系统)
  • 歌剧(自 10.60 起)
  • Internet Explorer(自 IE 9 起)

至少有两个移动浏览器实现了 Geolocation API:

  • Safari Mobile(自 iPhone OS 3.0 起)
  • Android(至少从 Android 1.6 开始)

在所有这些平台上,您应该能够使用 navigator.geolocation.getCurrentPosition 等。

尽管我认为标准化(顺便说一下)W3C Geolocation API是一个很好的做法,但值得注意的是,浏览器中还有一些其他选项,如果您需要针对较旧的平台,这些选项会特别有用。

  • Firefox 3.1 支持Geode,它使用navigator.geolocation非常相似的语法调用
  • Loki 是 Skyhook 构建的插件,适用于 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 标准的具有 javascript 定位功能的手机。到目前为止,它支持 iPhone、Android、黑莓和一些在浏览器中运行的边缘浏览器平台。该库也可以在编写 web 时使用为诺基亚 OVI 和 Palm WebOS 堆叠独立应用程序。

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

W3C 版本适用于 android 2.*。在 android 1.6 上,您可以回退到齿轮,其工作方式几乎相同。理论上,W3C 标准也应该适用于 Firefox mobile (Fennec),它目前可用于诺基亚的 Maemo 设备,并将成为 MeeGo 的标准。

实际上,我写了一篇关于此的博客文章,其中包含更多详细信息,网址为:textopiablog.wordpress.com/2010/05/07/...我自己不是这方面的专家,但是有兴趣的人可以在那里找到更多信息的链接.
2021-04-24 03:08:51

您不必拥有最新的手机即可使用 GPS 和 Geolocation API。几乎所有的移动浏览器(没有代理服务器)都可以用来从 buidin GPS 读取位置。如果您的手机中有 Java 和 GPS – 您可以使用 mobile-gps-web-gate – 请参阅http://code.google.com/p/mobile-gps-web-gate/