Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Zaurus ハマリ道: qgmap でオフライン地図
▲Zaurus Top |
↑Up(設定・システム) |
←Prev(qtmail で Gmail(imap)を使う) |
→Next(4GB 以上のSDHCを使う)
qgmap でオフライン地図
(2009/06/24)
qgmap と GM_Lite を使って、オフラインで使える地図環境を構築する。出張が多いときに便利。
download
qgmap
qgmap | ぷちのいず
qgmap_0.1.8_arm.ipk をダウンロードしてインストール。
gm_lite でダウンロードした地図を表示させる zaurus ネイティブアプリ。
PHSカードを使っていると、基地局情報から現在位置をポイントできる。
gm_lite
実用工房≫Blog Archive≫GM_Lite 0.1.4公開
google maps から地図データをダウンロードする。
全世界全縮尺のデータをダウンロードすると、データ量が半端ではないので、「レシピ」にしたがって必要なデータをダウンロードする。
本質的に google maps の仕様変更に振り回される。
ダウンロードしたデータは、opear などのブラウザから使うことができるが、opera が無くても qgmap から使うことができる。
windows 上の cygwin(sh,perlスクリプト)でダウンロードする、html,jsで opera からのリクエストに応える、zaurus 上の perl スクリプトでメンテする、のようになっている。
gm_lite-0.1.4.zip をダウンロードして、ホスト上に展開。imgs/ と bin/ のみ zaurus 上の SDカード上の /mnt/card/gm_lite/ 以下に転送。
gm_lite改造版
GM_Lite改造版 | ぷちのいず
ダウンロードの性能向上、google maps 仕様変更への追従。
down_imgs-5.pl.txt をダウンロードして、bin/down_imgs.pl を置き換える。
gm_liteのレシピ
GM_Lite用地図レシピ | ぷちのいず
地図のどの範囲をダウンロードするかを指定。
map_recipe-081030.zip をダウンロードして展開(日本語ファイル名、ディレクトリがあるので注意)。
必要な部分のみ bin/down_imgs.pl の最後にコピー&ペーストして bin/down_imgs.pl を実行。
mkcramfs
手順
qgmap のインストール。
ipk にて。本体に入れた。
地図のダウンロード。レシピをコピーして。
down_imgs.pl の末尾に、レシピからコピペ。次の内容でイメージ化したら1.3MBぐらい。
# 全世界 縮尺 19:13
# 日本 縮尺 13:7
# 13-東京都(離島除く) 縮尺 6:5
# 14-神奈川県 縮尺 6:5
# 27-大阪府 縮尺 6:4
# 26-京都府 縮尺 6:5
# 28-兵庫県 縮尺 6:5
imgs/ ディレクトリに入ってから ../bin/down_imgs.pl と実行する。
実際には、よく使う範囲の詳細図を追加ダウンロードしてある。
imgs/ の cramfs 化。
そのままだと大量のファイルがあるので、ファイルシステムの inode を食い潰してしまうので、イメージ化してからマウントする。ここでは、zaurus 標準の ROM化ファイルシステムであり、圧縮も効く cramfs を使うことにする。
cramfs imgs imgs.bin
できあがった imgs.bin をSDカードに転送する。ついでに、マウントディレクトリも作っておく。
ラッパスクリプトの作成。
アイコンを押して qgmap を起動したときにイメージファイルをマウントするよう、ラップスクリプトを書く。これで、いちいち手動でマウントしなくてもOK。
/opt/QtPalmtop/bin/qgmap.sh を作成
#!/bin/sh
fs=cramfs
gml_img=/usr/mnt.rom/card/gm_lite/imgs.bin
mnt_dir=/usr/mnt.rom/card/gm_lite/imgs
qgmap=/opt/QtPalmtop/bin/qgmap
if [ ! -e "$mnt_dir" ]; then
echo "$mnt_dir is not exist."
exit -1
fi
if mount | grep -q " $mnt_dir "; then
echo "umount gm_lite image file"
su "-c umount $mnt_dir/"
exit 0
else
echo "mount gm_lite image file"
su "-c mount -t $fs -o loop -o ro '$gml_img' '$mnt_dir/'"
$qgmap
su "-c umount $mnt_dir/"
exit 1
fi
アイコンデータの編集
/home/QtPalmtop/apps/ UserTab1 /qgmap.desktop を次のように編集する。
UserTab1 の部分は、アイコンを置いたタブによって異なる。また、アイコン長押で、「root で実行する」にチェックがあることを確認のこと。
[Desktop Entry]
Comment = Google Maps Viewer
Exec = qgmap.sh
Icon = qgmap
Name = qgmap
Type = Application
Display = 640x480/144dpi,480x640/144dpi
その他
キーボードショートカット。小文字でも効く。
本家サイト にも書いてあるが、使いそうなものを抜き書き。
「I」、「O」キー ・・・ ズームイン、ズームアウト
カーソルキー ・・・ 上下左右にスクロール
「SHIFT」+カーソルキー ・・・ 大きくスクロール
「Fn」+「C」 ・・・ 現在の緯度・経度・ズームレベルをクリップボードへコピー
「D」 ・・・ フリーハンド範囲指定モードへ
「P」 ・・・ PHSカードで位置取得
「H」 or 「?」キー ・・・ ヘルプ表示
「D」は詳細を追加ダウンロードしたいときに使う。
▲Zaurus Top |
↑Up(設定・システム) |
←Prev(qtmail で Gmail(imap)を使う) |
→Next()
近藤靖浩