qgmap alpha7 リリース

qgmap の aplha7 をリリースします。ダウンロードページからどうぞ。
予告どおり、10/10中に間に合いました ^^;

alpha6 からの差分は以下のとおりです。

  • 中央マーカ表示機能 (「.」キーで表示ON/OFF)
    • 表示ON/OFF状態を保存
  • tera様の高速化&マーカ状態保存パッチ適用
    • スクロールの高速化
    • マーカ表示のON/OFF、表示マーカ番号の保存
  • sugerware様ご提案のクリップボード連携機能
    • Fn+C キーで現在位置・ズームレベルをクリップボードへコピー
    • Fn+V キーでクリップボードから現在位置・ズームレベルをペースト
  • 上記機能に関連して、緯度経度指定ジャンプでズームレベルを指定可能に

今回の修正は盛りだくさんです。

順番は前後しますが、まず tera 様の高速&マーカ状態保存パッチです。

以前のブログでも述べていますが、この修正でスクロールがかなり早くなります。
また、アプリ終了時のマーカのON/OFF状態、表示番号の状態を保存するようになりました。。

続いて、sugarware様ご提案のクリップボード連携機能です。
Fn+C, Fn+V で位置情報をコピー、ペーストすることができます。
この位置情報をテキストエディタに張り付けておくことで、簡単なメモとともに位置情報を管理することができるようになります。
sugerware 様はさらにアウトラインエディタ WZNotes との組み合わせることで、より便利に位置情報を管理できるのではないかと提案されています。
アウトラインエディタで階層的に位置情報をまとめることができますので、とても便利な組み合わせだと思います。うーん、このアイデアも秀逸です。

この位置情報ペースト処理を実装するに当たり、緯度経度指定ジャンプのパーサを見直しました。
この緯度経度指定ジャンプのパーサと位置情報ペースト機能のパーサは同じものを使っていますので、緯度経度指定ジャンプでもズームレベルを指定できるようになりました。

緯度,経度[,ズームレベル] 

のように指定します。ズームレベルはオプションなので今までどおり指定しなくてもOKです。

最後に、中央マーカ機能は qgmap-sample-0.0-alpha6 で中途半端にリリースしていましたが、正式に組み込みました。
ちょっとだけ改良してあって、マーカ表示機能に合わせて、アプリ終了時の表示状態を保存します。

ちょっと時間が迫っていて、乱文になってしまってごめんなさい。

最後に、今回のリリースに大きく貢献してくださった tera様、sugerware様に改めて御礼申し上げます。
ありがとうございました。そして、これからもよろしくお願いします。

qgmap 開発メモ – クリップボードの操作方法&高速化パッチ

ここ数日、皆様にとても有用なご意見を頂き、なんかとても楽しく嬉しいです笑顔

自分の頭だけでは思いつかないような、目からウロコないろいろな考えが聞けると、知的欲求が満たされてゾクゾクするような、なんかいままで死んでいだ脳細胞が生き返るような(?)、そんな感覚になって嬉しくなってしまいます。

そんなちょっとハイな気分に乗って一気に実装しちゃおうと思います。

まず、sugarware様のコメントにあった、クリップボード経由の緯度経度のやりとりについて。
エディタと組み合わせるという発想が秀逸。私にはこの発想はありませんでした。

Qt/Eでクリップボードはどうやって扱うものかをググってみたところ、LinuZau Tool Box Wikiにそのものずばりのソースコードが載っていました。
なるほど、QApplication経由でクリップボードへ読み書きできると。Qtopia Referenceではここ

ふむふむ。これで実装はできそうです。QClipboardクラスには dataChanged() シグナルがあるから、クリップボード監視も出きるのか。何かに使えそう。

あと感動したのが、tera様のパッチ。いや、これにはほんとビビりました。
パッチを当てるとスクロールが体感で2倍位軽くなります。ほんとスムーズ!
あまりにスムーズなので、画像読み込みのタイミングの引っかかりがあからさまに目立つようになるくらい (^^;

いやー。すばらしい。是非ともこれらを組み込んだ qgmap をリリースしたいですね。
今日中リリースを目標に頑張ります!笑う

qgmap 開発メモ – 画面外マーカの方向

今回は画面外マーカの表示方向についてです。

今のqgmapの画面外マーカの方向は以下の図のようになっています。

 

今のqgmapの画面外マーカ
今のqgmapの画面外マーカ

 

今は、マークした位置が画面の上下左右に直線的に移動して表示できる場合は「辺」の部分にマーカを表示し、上下左右移動で表示できない場合は頂点部分に斜め方向向きのマーカを表示しています。
ですので、右辺にあるマーカの y 座標はマーカの y 座標と一致しています。

開発当初は、以下のようなものを考えていました。


開発当初のマーカの方向

画面の中心からマーカまでを直線で結んだとき、画面の端を横切った所にマーカを表示する方法です。

一応、こちらで実装したんですが、当時はまだ中央マーカ表示機能がなかったこともあり、スクロールさせたときのマーカの挙動に何となく違和感があったため、現在の方法に切り替えました。
マーカを表示させた状態でスクロールさせると違和感はないんですが。

個人的な感覚での、それぞれの特徴をまとめると以下のようになります。

  • 前者の方法
    • 中央マーカなしの時のスクロール時の挙動が自然
    • マーカとの距離がある程度離れているとき、必ずしも正確に方向を表示しない
  • 後者の方法
    • 中央マーかなしの時のスクロール時の挙動がなんとなく不自然
    • マーカとの距離が離れていても、正しい方向を指し示す。

 

一応、後者の方向で実装したパッケージも作成しましたので、どちらがいいかご意見を伺いたいと思います。

パッケージ名や実行ファイルなど名前を変更しているので、オリジナルの qgmap と共存することが可能です。
また、「.」キーでの中央マーカ表示も実装していますので、中央マーカ表示/非表示でスクロールさせてみて、画面外マーカの挙動がしっくりくるかも試していただけると幸いです。

慣れの問題だとはおもうので、どちらでも一緒かもしれませんが・・・。