API геолокации на самом деле не связано с HTML5, т.к. он создан W3C, а не WHATWG. Тем не менее он ссылается на спецификацию HTML5.

API нам предлагает два метода определения местоположения:
1) getCurrentPosition - разовый метод захвата.
2) watchPosition - следит за изменением местоположения.

Мы рассмотрим пример с getCurrentPosition.
После успешного определения местоположения getCurrentPosition отдает объект coords, который содержит широту и долготу местоположения пользователя, а также точность определения.

<html> 
<head> 
<meta charset="UTF-8"> 
<title>API Geolocation CodeMake.Ru</title> 
</head> 
<body> 
<div id="info"></div> 

<script> 

function getPosition ( position ) {
	echo('Широта: ' + position.coords.latitude + '<br>');
	echo('Долгота: ' + position.coords.longitude + '<br>');
	echo('Точность: ' + position.coords.accuracy + ' м.');
}

function errorPosition () {
	echo('Не удалось получить текущее местоположение!');
}

if (navigator.geolocation) {
	navigator.geolocation.getCurrentPosition( getPosition, errorPosition );
} else {
	echo('Данная фнукциональность не поддерживается!');
}

function echo ( content ) {
	document.getElementById('info').innerHTML += content;
}
</script> 
</body> 
</html>

Можно сразу посмотреть рабочий пример.

На iPod это выглядит так:

Точность измеряется в метрах. Кстати не удивляйтесь, что любой браузер будет выдавать запрос на разрешение передачи данных о местоположении. В спецификации явно указано, что браузеры не должны отправлять гео-данные без разрешения пользователя.

Координаты вещь не наглядная, но их можно передать, например объекту Google карт. Если это вызовет большие трудности я напишу как это сделать. Кроме того мы еще не рассмотрели вариант с watchPosition.

Где можно использовать API геолокации? Например при отправке пользователем поста на вашем сайте, сделайте чекбокс "Указать мое местоположение" и пусть пользователь сам решает когда ему это нужно. Можно определять и советовать ближайшие заведения для текущего пользователя, например если он находится в каталоге заведений на вашем сайте.
Также эти данные можно использовать в игре энкаунтер и зарница. Тут, как говорится, голь на выдумку хитра.

(Visited 600 times, 1 visits today)