qgmap-0.2.0 リリース (続き)

qgmap 0.2.0 リリースの続きです。
昨日書いていたのですが力尽きてしまいました (^^;

カスタムPOI機能は、 ユーザが自由に位置情報を追加できる機能のことです。
本物のモバイルGPS機器ではPOIの検索等もできますが、今のところ表示と情報表示の機能だけ使えます。

カスタムPOIのフォーマットは、カンマで項目を区切ったCSV形式で、以下の順番で項目が並んでいます。

経度,緯度,名称,コメント

緯度、経度指定は小数点を含む度指定です。度.分秒指定ではありませんので注意です。

カスタムPOIの設定はメニューのカスタムPOIから行います。

メニュー
メニュー

CustomPOIをクリックすると、以下のようなダイアログが表示されます。

カスタムPOI設定ダイアログ
カスタムPOI設定ダイアログ

左から id , 表示の有無, 表示ズームレベル, 名前とアイコンが表示されます。
「表示」のチェックアイコンをクリックすることで表示の有無を切り替えることができます。

「追加」を押すと以下のダイアログが表示されます。

カスタムPOI追加
POI追加ダイアログ

上の「POI:」の欄にCSVファイルを指定します。
「Zoom:」 にはアイコンを表示するズームレベルを指定します。7の場合、ズームレベルが7〜0の時にアイコンが表示されます。
「Icon:」には表示するアイコンを設定します。「追加」ボタンからアイコンを追加できます。POIアイコンに指定できる画像は 16×16 ドットまでです。
「名前:」には、カスタムPOIの分類の名前を入力します。

OK を押下すると、カスタムPOIファイルを内部のデータベースに追加します。大量のPOIを登録する時は時間がかかり、固まったように見えますが処理しているので辛抱強く待ってください。
いずれ、プログレスバー表示をつける予定です。

ちなみに、データベースは /home/zaurus/Settings/qgmap-poi.db に作られます。
HDD機以外では内蔵フラッシュに書き込むので、空き容量に注意してください。いずれSD等の外部メディアに置けるようにしたいと思っています。

POIが表示されると以下のようにPOIファイルの座標の場所に指定したアイコンが表示されます。


POI表示

256x256dot の地図画像 1 枚あたりアイコンは 500 個まで表示できます。それを超えると以下のように「たくさんあるよ」アイコンが表示されます。

500個を超えると・・・

POIアイコンをクリックすると、そのアイコンが中央に位置するようスクロールし、以下のような情報表示ウィンドウが表示されます。

POI情報表示
POI情報表示

POIの説明文は改行を含むことができます。ただ、あまり多くの行は表示できないのでご注意ください。大体、名称3行、詳細3行くらいまででしょうか。

 

と、0.2.0 の新規機能の説明を駆け足で書きましたが、説明が下手なのでなんか複雑そうに読めるかと思いますが、使ってみればすぐわかると思います。

カスタムPOIのデータはGetLocInfoというソフトを使うとYahoo!電話帳などから簡単に作れるようです。(まだ使ってみてないですが^^;)

今回結構大幅な変更を加えたため、ミドルバージョンをあげて0.2.0にしてみました。
ただ、地図の描画をスレッド化するにあたり、本来はやってはいけない処理を行っているため、もしかすると若干不安定になっているかもしれません。

私が軽くテストした感じでは問題なかったためリリースしていますが、固まったり、落ちたりする可能性もあるので、そういった症状に遭遇した場合はコメントをいただけるとありがたいです。あまりに不安定な場合は元の処理にもどします。

0.2.x は POI 関係の機能を充実させようかなと思っています。例えば、名称検索や最寄りのPOI検索など。コンビニのPOIを入れておいて、最寄りのコンビニ検索とか、都内でスタバなどの最寄りのカフェ検索とかができたら便利かなーと。

SQLiteによるちゃんとしたデータベースを実装したので、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」キーに割り当ててあります。

座標表示
座標表示機能

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

qgmap 0.1.8 リリース

かなり間が空いてしまいましたが、qgmap の 0.1.8 をリリースします。→ダウンロードページ

今回は期間が空いているにも関わらず、バグフィックス+α 程度の更新しかありません・・・。ごめんなさい。

今回の修正は以下のとおりです。

  • GPS使用時にズーム操作をすると、中心地がおかしくなるバグを修正
  • rootユーザにパスワード設定をしている場合、自動マウントできない問題の対処
  • 2GBを超えた ISO イメージのマウント対応

1つめは、 bxk07344 さん、sugarware さんからご報告いただいたバグの修正です。
GPSを追従モードで使用中にズームを行うと GPS モードに入った位置に飛ばされてしまうというバグを修正しました。

2つめは、sugarware さんのご要望の機能で、root ユーザにパスワードを設定している場合の対策を行いました。

rootにパスワードを設定している方は、「root権限で実行する」にチェックを入れると自動マウントができるようになります。

ただし、qgmap の様な一般アプリは、本来は root 権限で動かすべきではありません。qgmap が root 権限で動作することになるので、バグなどでシステムファイルを壊したりしてしまう可能性も否定できません。自己責任でご指定ください

また、同様の理由で root にパスワードを設定していると PHS による位置取得もできなかったようで、これも直しました。sugarware さんがPHS位置取得ができないとコメントされていたのは、これが原因だったのかもしれません。

3つめは 「2GB を超えた ISO イメージのマウント対応」と、大げさに表現してますが、ただ単に 2GB超のファイルもファイルダイアログで表示できるようにしただけです ^^;
もともと 2GB 超のファイルもマウント可能だったようです。

いろいろ試してみたところ、Qtのライブラリを使ってファイル一覧を取得すると、なぜか 2GB 以上のファイルは一覧に含まれないようです。そのため、Zaurus純正の「ファイル」タブでも、別のアプリでもファイルの存在が見えません。

ですが、コマンドラインから mount してみると、問題なくマウントできてしまいました。

そこでファイル一覧の取得に Qt のライブラリではなく、一般的な glib の関数を使うことで2GB超のファイルも見えるようにしました。これで違和感なく 2GB 超のイメージを指定できるはずです。

また、ついでに .rom と .iso 以外は見えないようにしてあります。

軽くしか試してないので、2GB以上の地図ファイルをお持ちの方はぜひ試してみてください。

qgmap 0.1.7 リリース

リリース直後ですが、いろいろとバグバグだったので修正しました。→ダウンロードページ

bxk07344さんに教えていただいた以下のバグを修正しています。

  • MapPathダイアログでパスが設定されているにも関わらず「地図のパスは最低1つ必要です」と表示されるバグを修正。
  • v0.1.5以前のMapPath設定, GPS設定の引き継ぎに問題があったので修正
  • パス指定・イメージファイル指定で/home/zaurus/documentsより上位ディレクトリを指定可能に

他にも細かいバグがあるかもしれないので、気づいたらご指摘をお願いします。

qgmap 0.1.6 リリース

約1ヶ月半ぶりになりますが、qgmapをリリースします。→ダウンロードページ

今回はちょっと使い勝手が向上する機能を追加しました。

  • イメージファイル自動マウント機能
  • 複数イメージファイル/ディレクトリ対応
  • QCop メッセージによる緯度経度指定ジャンプ対応
  • GPS機器選択対応

最初の2つは、前々から考えてはいたものの、UIを作るのが大変そうで敬遠していた機能です (^^;

今までは1つのディレクトリしか指定できませんでしたが、今回から8つまでイメージファイル / 地図ディレクトリが指定可能になりました。それに伴い、自動でマウントする機能も付けました。

 
左上のアイコンから「Map Path」を選択

 

地図イメージ設定ダイアログ
地図イメージ設定ダイアログ

「追加」を押すと、ファイル/ディレクトリ選択ダイアログが表示されるので、地図ディレクトリの場合は、今までどおり imgs ディレクトリを指定し、イメージファイルの場合は、.rom, .isoファイルを指定してください。

地図ディレクトリ/イメージファイル選択ダイアログ
地図ディレクトリ/イメージファイル選択ダイアログ

これで地域別、用途別に地図イメージを作成しておき、必要な地図イメージだけをSDカードにコピーするといった運用が可能になります。また、いちいちマウントする手間が省けます。

 

QCopメッセージ対応は、bxk07344 さんがのぼぶろぐにて乗換案内とqgmapを連携させる方法を公開されたのがきっかけで作った機能です。
以下のようにQCopメッセージを送信することで、外部から指定した座標へジャンプさせることが可能になります。

 # qcop QPE/Application/qgmap 'setWGSLocation(QString)' '緯度,経度[,zoom]' 
# qcop QPE/Application/qgmap 'setTokyoLocation(QString)' '緯度,経度[,zoom]'

世界測地系、日本測地系のどちらでも指定可能です。

 

最後がGPS機器選択対応です。複数の GPS 機器をお持ちの方用に、5機種まで設定を登録できるようにし、簡単に切り替えられるようにしました。

新しいGPSメニュー
新しいGPSメニュー

Settingsを選択すると、各GPS機器の設定が可能です。それ以降の5つがそれぞれ設定したGPS機器となります。選択中の設定には上記のようにチェックが入って表示されます。

GPS設定ダイアログ
GPS設定ダイアログ

Nameで設定した名称がGPSメニューにも表示されます。他の項目は今までと同じです。

あまり需要は無い機能かもしれませんが、私がデバッグ目的で uPod と M-241 を切り替えるときに設定をいちいち書き直すのが面倒だったので追加しました。あっかんべー

 

HB1さんのZegaも着々とバージョンアップされてますね。次のバージョンではルート案内の曲がり角拡大表示機能を実装予定とか。うーん。すごい。ほとんどカーナビじゃないですか。
GPSログやルート案内などのGPS・ナビ関連機能は全然かなわないですね。

qgmapの今後の予定として、一応、GPSのNMEAログ取得機能は実装するつもりですが、それ以降はGPS・ナビ系以外の機能に力を入れる予定です。

カスタムPOIデータ対応や、sugarwareさんにご要望をいただきながらも先延ばしになっていた住所指定ジャンプ機能あたりを実装しようかなと思ってます。

あと、ダウンロードページの使い方の欄が膨れ上がってきたので、以前手を付けて以来放置状態のマニュアルへちょっとずつ書き写して整備していかないとですね・・。