位置ゲーが作りたくて、調査(途中)

位置ゲーが作りたくてーー。

android端末も手に入れたことだし、
位置ゲーでも作ってみたいなァと思って
文献を調べる。
位置ゲーといえば「まちつく」!
「まちつく」のウノウさんのブログがとっても分りやすい。ふむふむ。

簡単な流れ。

A)携帯からURLにアクセス

B)GPS情報(経度。緯度)を取り出す(PHP)

C)取得した経度緯度を、地図和名称に変換


B)においてはPEARのライブラリで
Net_UserAgent_Mobile_GPS

というのがあるらしいし、
C)においては「まちつく」で有名なUNOUさんのブログに
ライブラリが公開されている!
となれば、意外とあっさりかも。。というわけで試してみる。
環境はいつもどおりさくらのレンタルサーバー。



B)GPS情報(経度、緯度)を取り出す(PHP)

1.PEARのをさくらサーバーにインストールする
参考)
http://www.mryworks.com/weblog/pear%E3%82%92%E3%83%AC%E3%83%B3%E3%82%BF%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%AB%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B/

$pear list

Package Version State
Archive_Tar 1.3.6 stable
Console_Getopt 1.2.3 stable
DB 1.7.13 stable
HTML_Template_IT 1.3.0 stable
HTTP 1.4.1 stable
HTTP_Client 1.2.1 stable
HTTP_Request 1.4.4 stable
MDB2 2.4.1 stable
MDB2_Driver_mysql 1.4.1 stable
Mail 1.2.0 stable
Net_SMTP 1.4.2 stable
Net_Socket 1.0.9 stable
Net_URL 1.0.15 stable
Net_UserAgent_Detect 2.5.2 stable
PEAR 1.9.0 stable
Services_JSON 1.0.2 stable
Structures_Graph 1.0.3 stable
XML_Parser 1.3.2 stable
XML_RPC 1.5.3 stable
XML_Util 1.2.1 stable

...ない、、まぁそっか。で
%pear install -f -o Net_UserAgent_Mobile_GPS

結果
Cannot install, php_dir for channel "pear.php.net" is not writeable by the current user

ぬーん、
http://phptips.seesaa.net/article/36638451.html
書き込み権限のない領域に書き込もうとしたというメッセージとのことで、

$pear config-show

PEAR directory php_dir /usr/local/php/5.2.13/lib/php

そりゃ書けないわな、、ってことで、
config-set コマンドで、php_dir 設定を変更

$pear config-set php_dir /home/ユーザー名/www/cgi-bin

結果
config-set succeeded

もっかいconfig-showしてみるとちゃんと変わっているので、
再度

%pear install -f -o Net_UserAgent_Mobile_GPS


だ___っとインストール作業。
install ok: channel://pear.php.net/Net_UserAgent_Mobile_GPS-0.1.1


$pear list

Package Version State
Console_Getopt 1.2.3 stable
Net_UserAgent_Mobile_GPS 0.1.1 alpha

あれ、、PEARがないことに気が付く・・。


%pear config-create /home/[アカウント名] .pearrc
%pear config-set bin_dir /home/[アカウント名]/pear/bin
%pear config-set download_dir /home/[アカウント名]/pear/temp
%pear config-set temp_dir /home/[アカウント名]/pear/temp

.cshrcの
17行目
set path = (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)

set path = (~$HOME/pear/bin /sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin $HOME/bin)


%pear install PEAR
とすると、、
failed to write /usr/local/php/5.2.13/lib/php/doc/XML_Util/examples/
と怒られれ、PEARの設定ファイルで諸々共用フォルダを指定していることが判明。
下記ですべて共用フォルダ>自分のフォルダに変更する
%pear config-set php_dir ~/pear/bin
%pear config-set doc_dir ~/pear/bin
%pear config-set ext_dir ~/pear/bin
%pear config-set cfg_dir ~/pear/bin
%pear config-set data_dir ~/pear/bin
%pear config-set php_bin ~/pear/bin
%pear config-set test_dir ~/pear/bin
%pear config-set doc_dir ~/pear/bin
%pear config-set bin_dir ~/pear/bin
%pear config-set temp_dir ~/pear/temp


%pear install PEAR

で、もっかい

%pear install -f -o Net_UserAgent_Mobile_GPS

さくらの管理画面からphp.iniの設定も忘れずに追加
php.ini 設定ファイル編集
include_path=".:/home/[アカウント名]/pear/bin"

                                                                                                                • -

あとは、、ここらへんを参考に位置情報を座標で取得
http://www.plusmb.jp/2008/12/19/1816.html

getMessage());
exit();
}
$res = $g->getGPSResponse();

var_dump($res);


結果>>
array(2) {
["lat"]=>
string(13) "+34.40.39.955"
["lon"]=>
string(14) "+135.30.06.976"
}

?>


PCからアクセスすると、
Cannot detect device. Please try me with mobile device
となり、携帯端末からのアクセスだとOK。

で、せっかくのスマートフォン(desire)からアクセスをした場合NG。
悔しいので、別の方法を考える。

http://d.hatena.ne.jp/haru-komugi/20090713/1247483231


C)取得した経度緯度を、地図和名称に変換+++++++++++++++++++++++++
ウノウラボPHPで携帯位置情報取得ライブラリを使ってみた。

0.元ネタ
http://labs.unoh.net/2008/08/phpgeomobilejp_converter.html

1.ダウンロード
http://code.google.com/p/phpgeomobilejp/downloads/list

2.全部丸ごとPHPの動作するディレクトリにコピー

3.docs\Manualに従って設定。

※オープンiエリアの取得でURLやパスなど若干情報が変わっていたようなのでメモ

#libに移動
$cd lib

# iエリアデータファイルを取得します。
$ wget http://www.nttdocomo.co.jp/binary/archive/service/imode/make/content/iarea/domestic/iareadata.lzh

# iエリアデータファイルを展開します(lhaコマンドがない場合は適宜他の方法で展開してください)。
$ lha e iareadata.lzh

# iエリアデータファイルから1つのPHPデータファイルを作成します。
$ cd ./tools

$ php ./create_iareadata.php ../lib/iareadata

# 作成されたファイルをGeomobilejp/IAreaディレクトリに移動します。
$ mv ./iareadata.php ../lib/Geomobilejp/IArea/

4.サンプルにアクセス
/sample/mobile_page_sample.php