API геолокации на iPhone
-
03-07-2019 - |
Вопрос
Кто-нибудь знает, поддерживает ли iPhone или в ближайшее время спецификацию W3C Geolocation а>?
Я собираюсь создать приложение для мобильных пользователей, но вместо того, чтобы тратить время на разработку приложений для каждой платформы (iPhone, Android и т. д.), я бы предпочел создать веб-приложение, которое бы использование стандарта W3C.
Решение
Этот код работал для меня - в веб-браузере iPhone Safari и в качестве дополнительного бонуса он работал даже с FireFox 3.5 на моем ноутбук! Спецификация API геолокации является частью стандартов Консорциума W3 Но имейте в виду: она еще не завершена.
(источник: bemoko.com )
(источник: bemoko.com )
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Geolocation API Demo</title>
<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" name="viewport"/>
<script>
function successHandler(location) {
var message = document.getElementById("message"), html = [];
html.push("<img width='256' height='256' src='http://maps.google.com/maps/api/staticmap?center=", location.coords.latitude, ",", location.coords.longitude, "&markers=size:small|color:blue|", location.coords.latitude, ",", location.coords.longitude, "&zoom=14&size=256x256&sensor=false' />");
html.push("<p>Longitude: ", location.coords.longitude, "</p>");
html.push("<p>Latitude: ", location.coords.latitude, "</p>");
html.push("<p>Accuracy: ", location.coords.accuracy, " meters</p>");
message.innerHTML = html.join("");
}
function errorHandler(error) {
alert('Attempt to get location failed: ' + error.message);
}
navigator.geolocation.getCurrentPosition(successHandler, errorHandler);
</script>
</head>
<body>
<div id="message">Location unknown</div>
</body>
</html>
Другие советы
Теперь вы можете получить местоположение из API Javascript в браузере Safari после выпуска iPhone 3.0 - мы создали рабочий пример @ http://blog.bemoko.com/2009/06/17/iphone-30-geolocation-javascript-api/
Начиная с iPhone OS 3.0 Safari поддерживает получение географического местоположения. См. справочную библиотеку Safari: получение географической справочной литературы / a> С другой стороны, спецификация W3C Geo API все еще находится в стадии разработки.
Я обновил код My Whirled View. Отлично работает на моем устройстве iOS 4.3. Google больше не требуется ключ API для доступа к библиотеке статических карт.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>iPhone 4.0 geolocation demo</title>
<meta content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" name="viewport"/>
<script>
function handler(location) {
var message = document.getElementById("message");
message.innerHTML ="<img src='http://maps.google.com/maps/api/staticmap?center=" + location.coords.latitude + "," + location.coords.longitude + "&zoom=14&size=256x256&maptype=roadmap&sensor=false&markers=color:blue%7Clabel:ABC%7C" + location.coords.latitude + "," + location.coords.longitude + "' />";
message.innerHTML+="<p>Longitude: " + location.coords.longitude + "</p>";
message.innerHTML+="<p>Accuracy: " + location.coords.accuracy + "</p>";
message.innerHTML+="<p>Latitude: " + location.coords.latitude + "</p>";
}
navigator.geolocation.getCurrentPosition(handler);
</script>
</head>
<body>
<div id="message">Location unknown</div>
</body>
</html>
Именно из-за этого пробела я разработал приложение Locatable - по сути, это плагин для iPhone Safari. В настоящее время он доступен только для взломанных телефонов.
На iPhone можно получить информацию GPS в JavaScript. Платформа QuickConnectiPhone предоставляет вам эту информацию, а также информацию об ускорении. Р>
Чтобы получить эту информацию, вам необходимо установить приложение на устройство. Эта платформа скоро будет доступна для приложений, установленных на Android, а также на Nokia.
Вы можете поместить свое приложение в среду для каждого из этих устройств, скомпилировать и отправить.
QuickConnectiPhone доступен по адресу https://sourceforge.net/projects/quickconnect/ . р>
и, если вы свяжетесь со мной, я могу предоставить вам предварительные версии для Android и Nokia.
Родос обещает " "развивайся один раз - везде" " решение. Сам не пробовал.
Эта небольшая библиотека javascript кроссплатформенная и поддерживает все современные смартфоны "из коробки":
Вот как вы это используете:
//determine if the handset has client side geo location capabilities
if(geo_position_js.init()){
geo_position_js.getCurrentPosition(success_callback,error_callback);
}else{
alert("Functionality not available");
}
В настоящее время невозможно получить GPS-положение iPhone, используя только API-интерфейсы JavaScript. Ходили слухи, что это было бы неплохо, но, конечно, Apple не будет комментировать будущие улучшения в общественных местах.