25

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 电脑

支持其他一些片段

?

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

4

7 回答 7

17

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

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

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

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

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

于 2010-07-05T15:00:15.133 回答
7

尽管我认为标准化(顺便提一下)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。
于 2009-08-29T02:40:59.010 回答
4

从一个类似的更新主题:

“我正在开发一个开源库,该库支持所有符合 W3C 标准的支持 javascript 定位的手机。到目前为止,它支持 iPhone、Android、BlackBerry 和一些在浏览器中运行的边缘浏览器平台。该库也可以在编写 Web 时使用为诺基亚 OVI 和 Palm WebOS 堆叠独立应用程序。

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

于 2009-12-26T13:53:58.467 回答
3

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

于 2010-05-19T09:37:39.737 回答
1

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

于 2010-11-20T16:09:46.020 回答
0

我知道这是一个老问题,但您会在此处找到支持地理定位的设备列表:http ://www.quirksmode.org/webkit.html 。此列表由网站作者维护,因此应保持最新。

于 2010-11-28T19:23:29.290 回答
0

Franson 的 GPSGate是一款商业产品,可以通过 javascript 将 Windows 机器的硬件 GPS暴露给任何浏览器。不过,该接口与 W3C 的实现略有不同。

Update: the Express (lite) version of GPSGate is free.

于 2011-03-16T01:29:14.247 回答