AD-EDITって?


ブラウザからブログ感覚でホームページを編集できるソフトです。
これらの類のソフトを総称してCMS(コンテンツマネジメントシステム)とも呼びます。

>> ダウンロードはこちらから <<

 

2010年4月30日金曜日

au ezweb携帯のGPS機能を使ったGoogleMapの表示

携帯用GoogleMapページに現在地表示機能を追加したときの技術的メモ

1.au-kddi携帯のGPSの概要


・地図ページを表示する前にGPS測位を行わないといけない
・世界測地系(WGS84)/日本測地系(Tokyo)が選択可
・取得できる経度/緯度は、dms方式(60進法:±ddd.mm.ss.sss)とdegree方式(10進法/少数下5ケタ:±ddd.ddddd)が選択可
【degree:lat例】
 +38.66365 (北緯38.66365度)
【degree:lon例】
 +126.35268 (東経126.35268度)
・地図ページのURLにGET/POST方式で任意の変数を送れない

2.地図ページへのリンク - GET方式


リンク先は端末内の「device:gpsone」としておく。
GPS即位後に「device:gpsone」からサーバー上の「gpsmap.cgi」へ現在地情報が送信される

<a href="device:gpsone?url=http://mydom.com/gpsmap.cgi&ver=1&datum=0&unit=1&acry=0&number=0">現在地表示</a>

※datumは測地系(WGS84系=0/Tokyo=1)
※unitは表示方式(dms方式=0/degree方式=1)
※gpsmap.cgiには、任意の変数を送れない

3.地図ページへのリンク - POST方式


<form>タグのPOST先は、device:gpsoneとする。

<form method="post" action="device:gpsone">
<input type="hidden" name="url" value="http://mydom.com/gpsmap.cgi">
<input type="hidden" name="ver" value="1">
<input type="hidden" name="datum" value="0">
<input type="hidden" name="unit" value="1">
<input type="hidden" name="acry" value="0">
<input type="hidden" name="number" value="0">
<input type="submit" value="現在地表示">
</form>

※datumは測地系(WGS84系=0/Tokyo=1)
※unitは表示方式(dms方式=0/degree方式=1)
※gpsmap.cgiには、任意の変数を送れない

4.地図ページにおいて経度/緯度を取得



PerlCGIなどで引数を受け取る

##フォームの取得
my $query = CGI->new;
*in = $query->Vars();

↓フォームを取得した結果↓

$in{'lat'} ←degree方式で緯度が格納される(+38.66365)
$in{'lon'} ←degree方式で経度が格納される(+126.35268)

6.60進数のdms方式を10進数に変換



au-kddi端末は、GoogleMapと同じdegree表記で
緯度/経度を取得できるので変換の必要は無し。

6.GoogleMapの画像を呼出し



GoogleMapから地図画像を呼び出すには
小数点6桁の緯度/経度に1000000を乗した整数を送る必要がある
GoogleMapでは、WGS84系の測地系が使用されるので注意

【GoogleMapの呼出し例】
http://maps.google.com/mapdata?latitude_e6=26215909&longitude_e6=127667398&zm=300&w=200&h=200&cc=US&min_priority=1&Point=b&Point.latitude_e6=26215909&Point.longitude_e6=127667398&Point.iconid=16&Point=e

【上記URLに送る変数】
latitude_e6 地図の緯度(小数点6桁を整数化したもの)
longitude_e6 地図の経度(小数点6桁を整数化したもの)
Point.latitude_e6 マーカー緯度(小数点6桁を整数化したもの)
Point.longitude_e6 マーカー経度(小数点6桁を整数化したもの)
zm 縮尺
w 地図画像の幅(px)
h 地図画像の高さ(px)

【小数点6桁を整数化する変換式】
$in{'lat'}に、38.32659863261561が格納されている場合
$lat=int($in{'lat'}*1000000);
として38326598の整数値を得る


上記方法は現在利用できなくなりました(2010/10/5)

▼新しい方法はこちら▼
「GoogleMapの固定画像を切り出す新しい方法」


au kddi公式サイトの仕様


http://www.au.kddi.com/ezfactory/tec/spec/eznavi.html

0 件のコメント:

コメントを投稿