gps_js4sp.xml設定

概要

スマートフォン(iPhone、Android、WindowsPhone、BlackBerry)端末で GPS 機能を使用するために<head>タグに挿入される<meta>記述を記したファイルについて説明します。

場所

x-Servletインストールディレクトリ

conf

insertHeaders

└ gps_js4sp.xml

形式

<?xml version="1.0" encoding="Shift_JIS"?>
<insertHeader
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:noNamespaceSchemaLocation="insertHeader.xsd">
    <content>
        <script type="text/javascript">
        var gps;var buf_a;function appendLocation(a){buf_a=a;gps=navigator.geolocation;gps.getCurrentPosition(updatePosition,handleError);return false;}function updatePosition(position){var lat=position.coords.latitude;var lon=position.coords.longitude;var acc=position.coords.accuracy;var delim;if(buf_a.href.indexOf('?')==-1){delim='?';}else{delim='&';}location.href=buf_a.href+delim+'lat='+format(lat)+'&lon='+format(lon)+'&geo=wgs84';}function getDmsString(deg){var degree=parseInt(deg);var minute=(deg - degree) * 60;var second=(minute - parseInt(minute)) * 60;return degree+"."+parseInt(minute)+"."+round(second,2);}function round(param,f){param *=Math.pow(10,f);param=Math.round(param);param/=Math.pow(10,f);return param;}function format(src){if(src >0){src="%2B"+getDmsString(src);}return src;}function handleError(positionError){alert('Attempt to get location failed:'+positionError.message);}
        </script>
    </content>
</insertHeader>

説明

スマートフォンで位置情報を得るために必要な JavaScript がコンテンツ内の<head>の最後に挿入されます。

位置情報の取得は W3C の GeoLocation を使用します。

実行結果

実行結果については <a gps> をご覧ください。

TOP