Code Example‎ > ‎

GPS



신규 프로젝트 작성

Eclipse의 메뉴로부터 [New]-[Project]를 선택하고, [New Project]다이얼로그박스에서 "Droidget Wizards"-"project"을 선택합니다.

GPS를 사용한 Widget을 개발하는데 있어서는 Feature에서 GPS의 설정을 수행합니다. Feature의 오른쪽에 있는 [Add]버튼을 선택합니다.

[Fearure]다이얼로그박스에서
http://bondi.ompt.org/api/geolocation
을 선택합니다.



[Finish]버튼을 누르고 프로젝트를 작성합니다.

Feature의 설정이 반영되면 src/config.xml에 <feature name="http://bondi.omtp.org/api/gelocation" />이 추가됩니다.

src/config.xml
<?xml version="1.0" encoding="UTF-8"?>
<widget id="GPSSample_1279453579736" version="1.0" width="300" height="150">
    <content src="index.html" type="text/html"/>
    <name>GPSSample</name>
    <description>Sample Widget with GPS</description>
    <author url="http://www.gclue.jp">GClue</author>
    <icon src="icon.png"/>
    <license>(C) 2010 GClue KK</license>
    <feature name="http://bondi.omtp.org/api/geolocation" />
</widget>

JavaScript파일 작성

프로젝트의 src폴더에 JavaScript용의 폴더인 js폴더를 작성해서 js폴더 밑에 script.js라는 이름의 파일을 작성합니다.

src/js/script.js
function buttonHandler(){
    document.getElementById("divMsg").innerHTML = "Searching";  
    bondi.geolocation.getCurrentPosition(onPositionSuccess, onPositionError, {timeout:40000});
}

// this function will handle each position updates
function onPositionSuccess(position) {
    lat = position.coords.latitude;
    lon = position.coords.longitude;
    document.getElementById("divMsg").innerHTML = "lat:" + lat + "<br>" + "lon:" + lon;  
}

// this function will handle each error in position updates
function onPositionError(error) {
    document.getElementById("divMsg").innerHTML = "Error";
}

index.html파일 편집

Button이 클릭되면 단말기의 현재위치가 표시되도록 수정합니다. 

index.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <meta http-equiv="Content-Script-Type" content="text/javascript" />
    <title>GPS Sample</title>
    <script type="text/javascript" src="js/script.js"></script>
</head>
<body>
    <div id="divMsg" style="color: yellow; height: 3.0em; font-size: 1em; "></div>
    <input type="button" id="formBtn" value="Get GPS" onclick="buttonHandler()"/>
</body>
</html>

패키징

다음은 패키징 작업을 수행합니다. Package Explorer의 GPSSample프로젝트를 클릭한 상태에서 Eclipse의 [Droidget]-[Packaging]을 클릭하여 패키징 작업을 실행합니다.

패키징 작업이 성공하면 GPSSample.wgt파일이 자동으로 생성됩니다.


USB경유한 전송

USB로 개발단말기를 접속해 놓고 Eclipse의 [Droidget]-[Packaging Install]을 클릭하여 전송 및 인스톨 작업을 실행합니다.

Web경유한 전송

완성한 GPSSample.wgt를 Web경유하여 실기에 전송하기 위해서는 download용의 html파일을 작성합니다.

Download.html
<html>
<head>
    <title>Download</title>
</head>
<body>
    <a href="droidget://www.example.com/GPSSample.wgt">GPSSample</a><br>
</body>
</html>

실행결과




※ 본 튜토리얼에서 사용하고 있는 화면은 KDDI/auのIS01의 대기화면을 사용하고 있습니다.
Comments