Могут ли веб-приложения iPhone получить GPS-положение? - PullRequest
17 голосов
/ 29 июня 2009

Существует ли простой способ создания веб-сайта, облегчающий пользователю iphone предоставление gps координат сайту?

Мне интересно, может ли существовать соглашение об именовании полей формы, например, чтобы пользователь мог вводить автоматически.

Я рассматриваю вопрос о создании веб-сайта, основанного на местоположении, и хотел бы адаптировать его для iphone (и других мобильных пользователей). Я понимаю, что приложение для iphone могло бы сделать это, но у меня нет возможности его создать.

Ответы [ 4 ]

16 голосов
/ 29 июня 2009

Вот фрагмент о том, как читать местоположение с 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, вы можете попробовать пару промежуточных решений, которые не заставляют вас создавать нативное приложение, но позволяют обернуть ваш сайт в приложении. и получить доступ к GPS и другим нативным функциям.

4 голосов
/ 31 декабря 2010

Проверьте приложение SendLocation под навигацией от Jouni Erola.

Это простое приложение, которое отправит данные о вашем iPhone на ваш сервер. Просто введите URL своего сервера, чтобы получить местоположение как HTTP-GET methid

1 голос
/ 01 октября 2013

Да, но точность довольно плохая. Я только что создал веб-форму, которая отправляет настройки 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>
1 голос
/ 31 июля 2009

Я надеваю это без какого-либо программирования. Вы можете:

  1. Загрузите приложение для iPhone "Basic GPS" из магазина iPhone.
  2. Создайте учетную запись на Twitter.com (если у вас ее еще нет).
  3. Создайте учетную запись электронной почты в Twitter на Twittermail.com.
  4. В основных настройках GPS используйте свой секретный адрес электронной почты из Twittermail.
  5. На Twitter.com/widgets нажмите «Другое», чтобы получить HTML-код для публикации ваших твитов в другом месте.
  6. Поместите этот HTML-код на свою домашнюю страницу.
  7. В Basic GPS вы просто нажимаете синюю кнопку «I» (вкл), «Электронная почта» и «Отправить», чтобы отправить свою позицию в Twittermail, которая публикует ее в Twitter. А Twitter автоматически опубликует его на вашей домашней странице.

См. Рабочий пример на http://CharlieBloom.com. Видны только 3 последних (настраиваемых) твита, нажмите «Follow me on Twitter», чтобы выбрать «My position .....» и ссылку Google Maps , Позиции обновляются на моем сайте через 2-3 минуты после их отправки.

С наилучшими пожеланиями, Чарли Блум

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...