qgmap-0.2.3 リリース

先日の 2 周年記念のブログエントリには多くの方から暖かい言葉をいただきました!ありがとうございました。

「ぼくがんばったよ!ほめてほめて!」みたいな小学生レベルの自己満エントリで今思うとちょっと恥ずかしいですが、大人な皆様が空気を読んで褒めてくださったので(笑)、読みながら照れ照れニマニマしてしまいました笑顔

皆様からご褒美をいただいたので、お返しといっては何ですが、qgmap の 0.2.3 をリリースします。  →ダウンロードページ

0.2.3 での修正点は以下のとおりです。

  • SL-A300に対応
  • POI検索結果に現在地からの距離を追加

今回はSL-A300 対応がメインです。SL-A300をお持ちでない方にはほとんど変化ありません (^^;

SL-A300対応はダイアログのサイズを固定値で設定していたので思いのほか手間がかかってしまいました。

qgmap が SL-A300 に対応!!
SL-A300に対応!!

ほとんどの機能は SL-C シリーズと同じように使えますが、一部機能は動かないものもあると思います。特に GPS, PHS 関係は動かない可能性が高いです。

スライダとか SL-A300 では操作しづらいので UI はまだまだ改良の余地ありですね。ブースカさんのアイデアの画面下部に大きなボタンを配置するというのもまだ手をつけられていません。

また、SL-A300で使用する際の注意点が3つあります。

  1. iso や rom イメージを使う場合はモジュールのインストールが必要
  2. 他のアプリの高速起動を切ること 
  3. SDカードを挿入していること

まず、SL-A300 で iso や rom イメージを使う場合は、tera さんの実用工房このエントリから miscfs-modules_a300_arm.ipk をダウンロードしてインストールする必要があります。

SL-Cシリーズでは iso はカーネルに組み込まれているんですが、SL-A300は組み込まれていないため、後からインストールする必要があります。

2つ目は qgmap が結構メモリ食いなため、他のアプリの高速起動が有効になっていると、「メモリが足りません」といったメッセージが表示されてしまいます。一応、地図画像のキャッシュサイズなどを減らしたのですが、付け焼き刃で全然効果がありませんでした。省メモリ化は今後の課題ですね。

3つ目はPOIのDBファイルを /mnt/card/qgmap-poi.db 決め打ちで置いてしまっているため、SDカードが必須になっています。SL-A300 はバックパックをつけない限り SD カードしか地図を置く場所がないので、大丈夫だとは思いますが、SL-C シリーズとは挙動が違うところです。

 

SL-A300対応の他のもう1つの変更点は、POIの検索結果に現在地からの距離を表示する機能を追加したことです。

POI検索の結果に距離を追加
現在地からの距離を表示

せっかくなので SL-A300 でスクリーンショットをとりました笑顔

緯度経度から2点間の距離を求めるのエントリで書いた公式で距離を求めています。また、初期状態で距離の近い順に表示されるようになっています。

矢印は「地図上の方向」を示しています。「方角」を示しているわけではないので注意してください。例えば、日本から真東に進むと赤道に交わり、いずれ南半球に到達しますが、上記検索結果の真東は同一緯度を表します。まぁ、qgmap を持って太平洋を横断とかしない限り気にする必要はありませんがあっかんべー

 

いままで一応メモリ使用量を気にして開発してきたんですが、 SL-A300 は SL-Cシリーズよりもさらに空きメモリが少ないんで、かなりキツキツギリギリですね。メモリ関係を見直す必要がありますね。

ただ、qgmap on SL-A300 は SL-C シリーズよりも表示が早く、キビキビ動作するので気持ちいいです。画面がQVGAと 1/4 なのと、回転処理がないので描画の負担が軽いためでしょう。このままでは私の SL-A300 は本当に地図専用デバイスになってしまいそうです笑う

qgmap-0.2.2 リリース

長い間お待たせしました。qgmap をリリースします。→ダウンロードページへ

ただ、今回は結構変更が入っているのでバグが増えてるかもしれません。気づいたら教えてください。

0.2.1 からの変更点は以下のとおりです。

バグフィックス

  • 「ルート権限で実行する」にチェックするとイメージをmountできないバグを修正
  • POI管理画面でPOIが1つもない時に削除・変更を押すと落ちるバグを修正

新規機能

  • メニューを実装
  • POI検索を追加
  • プリセットアイコンを追加
  • POIのアイコンを選択するダイアログを作成

まず mount 関係のバグフィックスについてですが、root権限で実行するとイメージをマウントできないバグを修正しました。

ただ、解決していないと思います。ルートでのマウントは可能になっているので、ユーザ権限でマウントできない場合は、「ルート権限で実行」にチェックしてみてください。

おそらく、上記の減少は mount コマンドを 0.2.1 から入れ替えたのが原因だと思います。これについてはもう少し調査しますね。

続いて新規機能です。

まずはメニューの実装です。ビュースタイルでもスタイラスだけでほぼ全ての操作ができるようになりました。

 メニューを実装しました
メニューを実装しました

GUIアプリを作るのに慣れてないのですが、メニューを見るだけである程度操作できるようにしたつもりです。もちろんキーによる操作も今までどおり可能です。

もう1つの大きい新規機能はPOI検索です。

POI検索メニュー
POI検索メニュー

POI>POI検索 メニューでダイアログが開きます。

POI検索
POI検索ダイアログ

検索キーワードを入力して「検索」ボタンを押すと下側に検索結果が表示されます。検索キーワードは名前部分と説明部分の両方から検索されます。

検索結果のリストを選んでダイアログ右上の「OK」を押すと、そのPOIの場所にジャンプします。

 

他の機能としてはプリセットアイコンを追加して、アイコン選択のダイアログも追加しました。

プリセットアイコン & アイコン選択ダイアログ
プリセットアイコン & アイコン選択ダイアログ

プリセットアイコンはここで GPL と CreativeCommons のデュアルライセンスで公開されているものの一部を使用しました。

アイコンが多くなるとコンボボックスでは選択しづらいので選択ダイアログも追加しました。

これで少しは使いやすくなったのではないでしょうか。

 

初めにも書きましたが、今回は結構大きく手を入れているので、色々挙動がおかしくなっている部分もあると思います。気づいた点があればご指摘ください。

次のリリースはいつになるか分かりませんが、以下のような機能を考えてます。

  • SL-A300対応 (起動しない問題対応&ダイアログサイズ調整)
  • 周辺のPOI検索 (最寄りのコンビニとか)
  • POIの登録

まったり開発していきますのでよろしくお願いします。

今度こそ SDHC ドライバ内蔵 rootfs for SL-A300

えー、長らくお待たせ致しました。

結構時間がかかっちゃいましたが、やっとまともに動作する initrd.bin 作成ツールができたので公開します。→ダウンロードページ

使い方はダウンロードページに書いてあります。

やっと安定して initrd.bin が作れるようになりました。前回公開しようとしていたものは、オリジナルの mkcramfs を使ったものでしたが、これがものすごくメモリを食うため、メモリの少ない SL-A300 で動作させるためには swap を有効にしてダマシダマシ動かすしかありませんでした。

しかし、どうも SL-A300 用カーネルのスワップが不安定で、フリーズしたり、なんとか mkcramfs が正常終了しても initrd.bin が壊れていたりと、とても使えるものではなかったため、公開を諦めました。

そこで今回は mkcramfs に手を加えて、メモリの代わりにテンポラリファイルを使うようにすることで、メモリ使用量を抑えるようにしました。これでなんとかスワップを有効にしなくても mkinitrd.bin を作れるようになりました。

一応確認してはいますが、initrd.bin が壊れていると起動しなくなることもありますので、ご理解の上お使いください。ヒトバシラーな人大募集です(^^;
気づいた点があったらコメントで教えていただけるとうれしいです。

qgmap-0.2.1 リリース

久しぶりに qgmap をリリースしました。→ダウンロードページ

変更点は以下の通りです。今回はあまり機能追加等はなく、主にバグフィックスとなります。

バグフィックス

  • フリーハンド範囲指定機能で重複した領域が出力される (sugarwareさんのご報告)
  • ガンマ補正時に画面が動的に反映されない (sugarwareさんのご報告)
  • POI機能でアイコンの指定がない状態で登録すると落ちる (botesanさんのご報告)
  • POIの情報表示で全てが表示されない場合がある (botesanさんのご報告)
  • POI削除時の確認ダイアログに名称ではなくズームレベルが表示される (botesanさんのご報告)
  • 2つめ以降に登録されたPOIの表示をOFFにできない (cycloneさんのご報告)

新規機能

  • 2GB以上のisoイメージがマウント可能に (bxk07344さんのご報告)
  • POI追加時にプログレスバーを表示
  • POIにプリセットアイコンを追加

今回の修正は多くの方のバグ報告やご意見を反映させていただきました。ありがとうございました。

修正が多いので新規機能だけご紹介します。

まず、2GB以上のisoイメージを使用することができるようになりました。この問題は zaurus に元々入っている mount コマンドが 2GB 以上のイメージを扱えなかったのが原因でした。
そのため、独自にビルドした mount コマンドを同梱し、qgmap が mount する時は、同梱した mount コマンドを使うようにしてあります。
これにより、大きな iso イメージも意識することなく普通に使えるようになりました。

次に、POI を追加する時にプログレス表示をするようにしました。

POI追加のプログレス表示
POI追加時のプログレス表示

今までは、大きな CSV ファイルを登録しようとすると、登録が終わるまで操作を受け付けず、CSVファイルによっては1分以上も固まったような状態になっていました。
登録処理が早くなったわけではないですが、状況がわかるので不安にならずに済むようになったと思います。

最後の新規機能は、POIのアイコンにプリセットアイコンを追加しました。

プリセットアイコンを追加
プリセットアイコンを追加

今のところ、赤丸の1つだけですが、他にも著作権フリーもしくは作者に許可がいただけたアイコンを追加していければいいなと思っています。

1つだけでもアイコンを登録しておけば、落ちる問題が回避できるからという安易な考えがあったのは内緒ですあっかんべー

 

とりあえず大体のバグは修正できたので、これから新規機能を追加していく予定です。
まだ決めてないですが、POI検索か住所検索あたりを実装しようかなと思ってます。

新年のごあいさつ & qgmap-0.2.0 リリース

あけましておめでとうございます。
去年は色々と大変な一年でしたが、多くの方々に助けていただいた一年でもありました。
そのぶん、今年は少しでもいろいろな人のお役に立てればと思っています。
今年もよろしくお願いします。

ということで、2010年初リリースは qgmap 0.2.0 です。→ダウンロードページ

本当は冬休み前にリリースして、テストがてら自分でも帰省や旅行に使おうと思っていたのですが、間に合いませんでした ^^;

今回の変更点は以下の通りです。

  • カスタムPOI対応 (アイコン表示、クリックによる情報表示)
  • 地図描画のスレッド化
  • 地図座標表示

まず、カスタムPOIの最低限の機能を実装しました。
GARMINと同じ CSV 形式のカスタムPOIファイルを読み込ませ、アイコンを登録することで、地図上にアイコンを表示することができます。

カスタムPOI表示
カスタムPOI表示 (駅の位置に電車アイコンを表示)

また、地図上のアイコンをタップすることで情報表示を行うことが可能です。

POI情報表示
POI情報表示

今後は名前による検索や最寄りのPOI検索などもできるようにしたいと思っています。

また、今回地図描画周りを大きく変更しました。 地図のロードやカスタムPOIのアイコン描画を別スレッドで処理するようにしたので、描画中は「Loading…」と表示され、描画完了次第表示するようになりました。

この様子のスクリーンショットを撮ろうとしたのですが、うまく撮れませんでした。起動してみるとすぐわかると思います。

最後は、sugarware さんご要望の、座標表示(?)機能です。GM_Liteの「!」キー相当です。地図を追加ダウンロードする際に、down_imgs.pl に書く座標を表示します。
qgmapでは ! キー(Shift+1)がポジション保存で使用しているので、「Z」キーに割り当ててあります。

座標表示
座標表示機能

ちょっと長くなってしまったので、細かい使い方は次のエントリで書きたいと思います。