【问题标题】:Can iPhone web apps get GPS position?iPhone 网络应用程序可以获取 GPS 位置吗?
【发布时间】:2010-11-06 17:31:36
【问题描述】:

是否有一种简单的方法来设计网站以方便 iphone 用户向网站提供 gps 坐标?

我想知道是否可能存在表单字段的命名约定,例如,让用户以自动方式输入。

我正在考虑建立一个基于位置的网站,并希望为 iphone(和其他移动用户)定制它。我意识到一个 iphone 应用程序可以做到这一点,但我没有能力创建一个。

【问题讨论】:

  • 您应该将 mobile-safari 添加为标签
  • 添加标签 mobile-safari 是否有效?该标签的确切语法是什么?

标签: iphone geolocation gps mobile-safari


【解决方案1】:

这里有一个关于如何从 iPhone 读取位置的 sn-p。看起来需要 3.0:

 navigator.geolocation.getCurrentPosition(foundLocation, noLocation);

 function foundLocation(position)
 {
   var lat = position.coords.latitude;
   var long = position.coords.longitude;
   alert('Found location: ' + lat + ', ' + long);
 }
 function noLocation()
 {
   alert('Could not find location');
 }

见:http://mapscripting.com/how-to-use-geolocation-in-mobile-safari

顺便说一句,如果您想在 iPhone 上使用 Web 代码,您可以尝试一些中间解决方案,它们不会强迫您创建原生应用程序,而是允许您将网站封装在应用程序中并访问 GPS 和其他本地功能。

【讨论】:

  • 正如提示:flickr.com 已经在使用其移动版本进行此操作。您可以查看在您当前位置附近拍摄的照片。
  • 此外,Firefox 在 3.5 版本中实现了相同的接口。所以基本上你可以在 Firefox 中使用相同的代码(如果这对你很重要的话)。
【解决方案2】:

查看 Jouni Erola 导航下的应用程序 SendLocation。

它是一个简单的应用程序,可以将 iPhone 的纬度和经度发送到您的服务器。 只需输入您的服务器 url 即可以 HTTP-GET 方法接收位置

【讨论】:

    【解决方案3】:

    我没有任何编程就做到了。你可以:

    1. 从 iPhone 商店下载 iPhone 应用程序“基本 GPS”。
    2. 在 Twitter.com 上创建一个帐户(如果您还没有)。
    3. 在 Twittermail.com 上创建一个电子邮件到 Twitter 帐户。
    4. 在基本 GPS 设置中,使用 Twittermail 中的秘密电子邮件地址。
    5. 在 Twitter.com/widgets 单击“其他”以获取您的 HTML 代码,以便在其他地方发布您的推文。
    6. 将此 HTML 代码放在您的主页上。
    7. 在基本 GPS 中,您只需单击蓝色的“I”(打开)按钮、“电子邮件”和“发送”,即可将您的位置发送到 Twittermail,后者会在 Twitter 上发布。 Twitter 会自动将其发布在您的主页上。

    查看http://CharlieBloom.com 的工作示例。只有 3 条最新(可自定义)推文可见,单击“在 Twitter 上关注我”以查看“我的位置......”和 Google 地图链接。职位在我发送后 2-3 分钟会在我的网站上更新。

    最好的问候, 查理·布鲁姆

    【讨论】:

      【解决方案4】:

      是的,但准确性很差。我刚刚构建了一个 Web 表单,它将 GPS 设置从 watchPosition() 函数发布到我的数据库,然后映射结果。在沿着当地河流划行时,它只得到了七个帖子中的两个正确。其余的都在河外,其中两个在大约一英里之外!我现在正在寻找更好的解决方案。

      这是我用来更新表单字段的代码:

      <script type="text/javascript">
      function getGPSLocation()
      {
        if(navigator.geolocation)
        {
         navigator.geolocation.watchPosition(onGeoSuccess);
        } else {
         alert("Your browser or device doesn't support Geolocation");
        }
      }
      
      function onGeoSuccess(position) {
        document.getElementById("Latitude").value =  position.coords.latitude;
        document.getElementById("Longitude").value = position.coords.longitude;
      }
      </script>
      

      这就是表格。更新以满足您的需求。

      <form>
      <img src="spacer.gif" OnLoad="getGPSLocation();">
      <input type="Text" name="Latitude" id="Latitude" value="">
      <input type="Text" name="Longitude" id="Longitude" value="">
      </form>
      

      【讨论】:

      • 你认为这可能是接收不良吗?
      猜你喜欢
      • 2013-05-15
      • 2013-05-09
      • 1970-01-01
      • 1970-01-01
      • 2011-03-07
      • 2011-02-04
      • 1970-01-01
      • 2016-03-27
      相关资源
      最近更新 更多