Mobile 5‎ > ‎

Geolocation


本サンプルはOS2.1, OS 2.2以降での実行が必要です。
現在のDroidget SDKのVersionでは本サンプルは動作しません。

Configの編集


src/config.xml
<?xml version="1.0" encoding="UTF-8"?>
<widget id="UAAgent_1281148337204" version="1.0" width="300" height="200">
    <content src="index.html" type="text/html"/>
    <name>Geolocation</name>
    <description>Application Cache Test</description>
    <author url="http://www.gclue.com"></author>
    <icon src="icon.png"/>
    <license>(C)2010 GClue K.K</license>
</widget>

JavaScriptの作成


src/js/script.js
function getGeo(){
    var geolocation = navigator.geolocation;
    geolocation.watchPosition(successCallback, errorCallback, {
                enableHighAccuracy: true,
                maximumAge: 5000 // 5 sec.
    });
}

function successCallback(position){
    alert("lat="+position.coords.latitude);
    alert("lon="+position.coords.longitude);
}

function errorCallback(error){
    switch(error.code)  
    {  
        case error.PERMISSION_DENIED: alert("Geolocation dataを許可しませんでした。");  
        break;  
  
        case error.POSITION_UNAVAILABLE: alert("現在のポジションを特定できません。");  
        break;  
  
        case error.TIMEOUT: alert("タイムアウトです。");  
        break;  
  
        default: alert("不明のエラー");  
        break;  
    }  
}

index.htmlの作成


src/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>GEO TEST</title> 
    <script type="text/javascript" src="js/script.js"></script> 
</head> 
<body> 
    <input type="button" id="formBtn" value="Get Geo Info" onclick="getGeo()"/> 
</body> 
</html>






Comments