17

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

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

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

4

4 回答 4

16

这是有关如何从 iPhone 读取位置的片段。看起来它需要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 和其他原生功能。

于 2009-06-29T15:26:57.473 回答
4

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

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

于 2010-12-30T23:09:35.087 回答
1

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

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

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

最好的问候,查理布鲁姆

于 2009-07-31T11:07:50.150 回答
1

是的,但准确度很差。我刚刚构建了一个 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-10-01T16:23:11.337 回答