HTML геолокации API используется для поиска позиции пользователя.
Что W3C Geolocation API?
W3C Geolocation API является попыткой по World Wide Web Consortium (W3C), чтобы стандартизировать интерфейс для получения информации о географическом местоположении для клиентской стороны устройства.
Он определяет набор объектов, ECMAScript стандарта, который выполняется в клиентском приложении дать местоположение устройства клиента через консультирование Расположения информационных серверов, которые являются прозрачными для интерфейса прикладного программирования (API).
Наиболее распространенными источниками информации о местоположении являются IP-адрес, Wi-Fi и Bluetooth MAC-адрес, радиочастотная идентификация (RFID), место подключения Wi-Fi или устройство глобальной системы позиционирования (GPS) и идентификаторы сотовых GSM / CDMA.
Место возвращается с заданной точностью в зависимости от местоположения источника лучшей доступной информации,.
Развертывание в веб-браузерах
Веб-страницы могут использовать API геолокации непосредственно, если веб-браузер реализует его. Исторически сложилось так, что некоторые браузеры могут получить поддержку с помощью плагина Google Gears, но это было прекращено в 2010 году, и на стороне сервера API это зависит от того перестал отвечать в 2012 году.
API местоположения идеально подходит для веб-приложений для мобильных устройств, таких как персональные цифровые помощники (PDA) и смартфоны. На настольных компьютерах, W3C Geolocation API работает в Firefox, начиная с версии 3.5, Google Chrome, Opera 10.6, Internet Explorer 9.0 и Safari 5. На мобильных устройствах, он работает на Android (прошивкой 2.0+), IOS, Windows Phone и Maemo.
W3C Geolocation API также поддерживается Opera Mobile 10.1 - доступен для Android и Symbian устройств (S60 поколений 3 и 5) с 24 ноября 2010 года.
Google Gears при условии геолокации поддержки старых и несоответствующих браузеров, включая Internet Explorer 7.0+, как плагин Gears, и Google Chrome, который реализован Gears изначально. Она также поддерживает геолокация на мобильных устройствах, в качестве плагина для Android браузера (до версии 2.0) и Opera Mobile для Windows Mobile.
Тем не менее, Google Gears Geolocation API несовместим с API W3C Geolocation и больше не поддерживается.
Особенности
Результат W3C Geolocation API, как правило, дают 4 свойства, в том числе местоположение широты и долготы (координаты), высота (высота), и [точности позиции, собранной], все из которых зависят от местоположения источников.
В некоторых запросах, высота над уровнем моря может дать или не возвращать никакого значения.
Найдите положение пользователя
HTML геолокации API используется для получения географического положения пользователя.
Так как это может поставить под угрозу неприкосновенность частной жизни, позиция не доступна, если пользователь не одобрит его.
Поддержка браузеров
Числа в таблице указать первую версию браузера, который полностью поддерживает геолокацию.
API | |||||
---|---|---|---|---|---|
Geolocation | 5.0 | 9,0 | 3,5 | 5.0 | 16,0 |
Note: геолокация гораздо более точным для устройств с GPS, как iPhone .
Использование HTML Geolocation
getCurrentPosition() метод используется для получения позиции пользователя.
Приведенный ниже пример возвращает широту и долготу позиции пользователя:
пример
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
Попробуй сам " Объяснение примера:
- Проверьте геолокации поддерживается
- Если поддерживается, запустить getCurrentPosition() метод. Если нет, то вывести сообщение пользователю
- Если getCurrentPosition() метод является успешным, он возвращает координаты объекта к функции , указанной в параметре (showPosition)
- showPosition() функция выводит широту и долготу
Приведенный выше пример является очень простой геолокации скрипт, без обработки ошибок.
Обработка ошибок и Отказы
Второй параметр getCurrentPosition() метод используется для обработки ошибок. Она определяет функцию для запуска, если он не может получить местоположение пользователя:
пример
function showError(error) {
switch(error.code) {
case error.PERMISSION_DENIED:
x.innerHTML = "User denied the request for Geolocation."
break;
case error.POSITION_UNAVAILABLE:
x.innerHTML = "Location information is unavailable."
break;
case error.TIMEOUT:
x.innerHTML = "The request to get user location timed out."
break;
case error.UNKNOWN_ERROR:
x.innerHTML = "An unknown error occurred."
break;
}
}
Попробуй сам " Отображение результатов в карте
Для того, чтобы отобразить результат в карте, вам необходимо получить доступ к службе карты, как Google Maps.
В приведенном ниже пример, возвращаемая широта и долгота, используются , чтобы показать расположение в карте Google (using a static image) с (using a static image) :
пример
function showPosition(position) {
var latlon = position.coords.latitude + "," + position.coords.longitude;
var img_url = "http://maps.googleapis.com/maps/api/staticmap?center=
"+latlon+"&zoom=14&size=400x300&sensor=false";
document.getElementById("mapholder").innerHTML = "<img src='"+img_url+"'>";
}
Попробуй сам " Google Map Script
Как показать интерактивную карту Google с маркером, масштабирования и опции перетаскивания.
Расположение конкретной информации
На этой странице показано, как показать положение пользователя на карте.
Геолокации также очень полезно для информации местоположения конкретного, как:
- До современной местной информации
- Показаны точки интересов, рядом с пользователем
- Поворачивать витки навигации (GPS)
getCurrentPosition() Метод - Возвращение данных
getCurrentPosition() метод возвращает объект , если он успешен. Свойства широта, долгота и точность всегда возвращаются. Остальные свойства возвращаются если таковые имеются:
Имущество | Возвращает |
---|---|
coords.latitude | Широты в виде десятичного числа |
coords.longitude | Долготы в виде десятичного числа |
coords.accuracy | Точность положения |
coords.altitude | Высота в метрах над уровнем моря |
coords.altitudeAccuracy | Точность высоты положения |
coords.heading | Заголовок в градусах по часовой стрелке с севера |
coords.speed | Скорость в метров в секунду |
timestamp | Дата / время отклика |
Геолокации объект - Другие интересные методы
watchPosition() - возвращает текущее положение пользователя и продолжает возвращать обновленное положение как пользователь перемещается (like the GPS in a car) .
clearWatch() - останавливает watchPosition() метод.
Приведенный ниже пример показывает watchPosition() метод. Вам необходимо точное устройство GPS , чтобы проверить это (like iPhone ) , (like iPhone ) :
пример
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.watchPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
Попробуй сам "