このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

iPhone 現在地表示 GPSナビ

この記事は最終更新日から1年以上が経過しています。

iPhoneにはiOSというOSが使われており、
iOS3.0からiPhone内蔵webブラウザ「safari」上で動くjavascriptに
GPSデータの取得機能が追加されています。

safariに搭載されているGPS関連機能はW3CのGeolocationAPIに準拠し、

FireFox3.5でも動作させることが可能です。

navigatorオブジェクト内にgeolocationオブジェクトが用意されていて、

取得方法は

navigator.geolocation.getCurrentPosition()     現在の位置情報

navigator.geolocation.watchCurrentPosition()  現在地を定期的に監視

navigator.geolocation.clearWatch()         watchPosition()での監視を中止

となっています。

定期的に取得するのなら

watchPosition()を使用。

watchPosition(update)で値を取得するとupdate関数が呼ばれるように記述。

オブジェクト内には

position.coords.latitude;  //緯度
position.coords.longitude;  //経度
position.coords.altitude;  //高度
position.coords.accuracy;  //水平方向(緯度経度)誤差
position.coords.altitudeAccuracy;  //垂直方向(高さ)誤差
position.coords.heading  //方角
position.coords.speed  //速さ

これらの情報が格納されています。

経度、緯度等の取得

HTML

 

<div id="location">lat,lng,accuracy</div>

JavaScript

<br />
<script type="text/javascript"><br />
window.onload = function(){<br />
navigator.geolocation.watchPosition(update);<br />
}<br />

関数実行させる。

//位置が検出されたら緯度、経度、誤差と時間を表示<br />
function update(position){<br />
var lat = position.coords.latitude; //緯度<br />
var lng = position.coords.longitude; //経度<br />
var acc = position.coords.accuracy; //誤差<br />
document.getElementById("location").innerHTML ="緯度:"+lat+",<br />
<br>経度:"+lng+",<br />
<br>誤差:"+acc+"<br>更新時間:"+(new Date());<br />
}<br />
</script>

(その他スタイル等は任意で。)

デモ

http://webcyou.com/demo/iphone/map.html
現在地の情報取得デモ

Related Article

LATEST NEWS

RANKING

ARCHIVE

SPONSOR

現在、掲載募集中です。



Links

現在、掲載募集中です。



About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。