Under-Construction

▲Zaurus Top | ↑Up(設定・システム) | ←Prev(qtmail で Gmail(imap)を使う) | →Next(4GB 以上のSDHCを使う)


qgmap でオフライン地図

(2009/06/24)

qgmap と GM_Lite を使って、オフラインで使える地図環境を構築する。出張が多いときに便利。

download

qgmap
gm_lite
gm_lite改造版
gm_liteのレシピ
mkcramfs

手順

  1. qgmap のインストール。
    1. ipk にて。本体に入れた。
  2. 地図のダウンロード。レシピをコピーして。
    1. down_imgs.pl の末尾に、レシピからコピペ。次の内容でイメージ化したら1.3MBぐらい。
      # 全世界 縮尺 19:13
      # 日本 縮尺 13:7
      # 13-東京都(離島除く) 縮尺 6:5
      # 14-神奈川県 縮尺 6:5
      # 27-大阪府 縮尺 6:4
      # 26-京都府 縮尺 6:5
      # 28-兵庫県 縮尺 6:5
      
    2. imgs/ ディレクトリに入ってから ../bin/down_imgs.plと実行する。
    3. 実際には、よく使う範囲の詳細図を追加ダウンロードしてある。
  3. imgs/ の cramfs 化。
    そのままだと大量のファイルがあるので、ファイルシステムの inode を食い潰してしまうので、イメージ化してからマウントする。ここでは、zaurus 標準の ROM化ファイルシステムであり、圧縮も効く cramfs を使うことにする。
    1. cramfs imgs imgs.bin
    2. できあがった imgs.bin をSDカードに転送する。ついでに、マウントディレクトリも作っておく。
  4. ラッパスクリプトの作成。
    アイコンを押して qgmap を起動したときにイメージファイルをマウントするよう、ラップスクリプトを書く。これで、いちいち手動でマウントしなくてもOK。
    1. /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
      
    2. アイコンデータの編集
      /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
      

その他


▲Zaurus Top | ↑Up(設定・システム) | ←Prev(qtmail で Gmail(imap)を使う) | →Next()


近藤靖浩