위치를 알아차리는(location-aware) 웹브라우징
브라우저 내에서 스크립트를 통하여 위치를 알아낼 수 있도록 하는 W3C의 API 스펙 제정과 더불어
모질라에서 최근 Built-in Geolocation support for Firefox3.5를 발표했습니다. 이는 앞서 발표한 오페라가
그들 브라우저의 위치 정보 지원을 발표한 것과 유사한 행보입니다.
W3C Draft로 제안된, 지리 API(Geolocation API)는 위치 정보를 얻어오기 위해 장치로부터 제공되는 위도,경도와
같은 정보를 활용할 수 있도록 고도로 추상화된 인터페이스를 제공합니다. 일반적인 지역정보의 소스는 GPS,
지역을 추측할 수 있는 IP 어드레스, RFID, WiFi , 블루투스 MAC 어드레스, GSM/CDMA 등이 될 수 있습니다.
이처럼 다양한 지역정보의 소스를 API는 인지할 수 있습니다.
다음은 지역정보를 알아내는 개괄적 code 형태를 보여줍니다.
[code]
function showMap(position) {
// (position.coords.latitude, position.coords.longitude)를 지도의 중심에 위치하여 보여줍니다.
}
// 현재 위치를 조회 합니다.
navigator.geolocation.getCurrentPosition(showMap);
[/code]
Draft에는 물론, 프라이버시 보호와 관련한 내용도 명시하고 있습니다.
어떤 식으로 동작하나요?
지역 정보를 이용하도록 디자인된 웹사이트를 방문하면, firefox는 당신의 위치 정보를 공유할 것인지를 묻습니다.
동의하면, firefox는 근처의 무선 AP와 해당 컴퓨터의 ip 어드레스를 수집하고서, 지리정보 서비스 제공자인
google location service에 정보를 전송하여 당신의 위치를 알아냅니다. 그 후 위치 정보를 요청한 웹사이트와
해당 정보를 공유하게 됩니다.
위치 정보 공유에 동의하지 않는다면, firefox는 아무런 행위도 취하지 않습니다.
오페라 역시 그들 브라우저에 구현한 지리 기능에 대해 발표했습니다.
우리는 오페라에 geolocation 기능을 추가한 것을 기쁘게 생각합니다. 최근 W3C의
The geolocation Working Group에서 geolocation API 명세의 첫 번째 Working Draft를
발표하였고 우리는 그 API를 지원하는 첫번째 제품을 발표했습니다.
API는 웹페이지에서 자바스크립트를 통하여 위치하고 있는 곳의 위도와 경도를 알아내는
데 이용됩니다.
위에 예시한 location-aware 브라우저가 아니라면 구글 Gears의 Geolocation API를 이용할 수 있습니다.
Geolocation API는 다음과 같은 메소드를 이용할 수 있습니다.
getCurrentPosition 메소드를 통하여 현재의 위치를 알아냅니다.
watchPosition 메소드를 통하여 이용자의 시간의 경과에따른 위치 변화를 확인합니다.
lastPosition 프로퍼티를 통하여 이용자의 마지막 위치를 빠르게 조회할 수 있습니다.
Gears 0.5 에서는 좀 더 정확한 위치 판독을 위해 WiFi 안테나의 데이터도 이용할 수 있을거라는군요.
아래는 웹은 아니지만 구글 안드로이드에서 구현된, Layar라 불리는 모바일 Geolocation 어플리케이션의
구동 모습입니다. geolocation-aware 브라우저가 어떤일을 할 수 있을지를 가늠해 볼 만한 영상이라 소개
합니다. 현재는 네델란드 정보만 있지만 전세계로 확대할 예정이라고 합니다.