Могут ли веб-приложения iPhone получить GPS-положение?
Есть ли простой способ создать веб-сайт, чтобы облегчить пользователю iphone предоставление координат gps на сайт?
Мне интересно, может ли быть, например, соглашение об именах для полей формы, чтобы пользователь мог вводить его автоматическим способом.
Я рассматриваю возможность создания сайта на основе местоположения и хотел бы настроить его для iphone (и других мобильных пользователей). Я понимаю, что приложение iphone может это сделать, но я не могу его создать.
Ответы
Ответ 1
Здесь приведен фрагмент того, как читать местоположение с 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 и другим родным функциям.
Ответ 2
Откройте приложение SendLocation под навигацией Jouni Erola.
Это просто приложение, которое отправит вам лат и lon iPhone на ваш сервер.
Просто введите URL-адрес своего сервера, чтобы получить его как HTTP-GET.
Ответ 3
Я надел это без какого-либо программирования. Вы можете:
- Загрузите приложение iPhone "Основной GPS" из магазина iPhone.
- Запустите учетную запись на Twitter.com(если у вас ее еще нет).
- Запустите учетную запись e-mail-to-twitter на Twittermail.com.
- В основных настройках GPS используйте свой секретный адрес электронной почты из Twittermail.
- В Twitter.com/widgets нажмите "Другое", чтобы получить HTML-код для публикации твитов в другом месте.
- Поместите этот HTML-код на свою домашнюю страницу.
- В основном GPS вы просто нажмете синюю кнопку "Я" (вкл.), "Электронная почта" и "Отправить", чтобы отправить свою позицию в Twittermail, которые публикуют ее в Twitter. И Twitter автоматически опубликует его на вашей домашней странице.
См. рабочий аксель в http://CharlieBloom.com. Только 3 последних (настраиваемых) твита видны, нажмите "Следуй за мной в Твиттере" и выберите "Моя позиция....." и ссылку Google Maps. Позиции обновляются на моем сайте через 2-3 минуты после того, как я их отправил.
С уважением,
Чарли Блум
Ответ 4
Да, но точность довольно плохая. Я только что создал веб-форму, которая выводит параметры 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>