ちょっと間が開きましたが、 qgmap の 0.1.1 をリリースします。 →ダウンロードページへ
0.1.1 の新機能は以下のとおりです。
- フリーハンド地図取得範囲指定機能
これはコメント y 様から頂いたご要望で、GM_Lite で地図をダウンロードする際の取得コードを、qgmap 上で手書きで指定できるものです。
ちょっと分かりづらいので、画面で説明します。
まず、地図を取得したい範囲を画面に収まるように、移動&ズームします。
そして、「D」キーを押します。すると、以下の画面のようになります。
このモードに入ると、画面のスクロールやズームはできなくなります。
モードを抜けるにはもう一度「D」キーを押してください。
スタイラスで画面をなぞると、赤い線で範囲を指定することができます。
スタイラスを離すと、線で囲った領域が塗りつぶされます。
この様にして、取得したい領域を赤で塗りつぶした状態にしていきます。「BS」キーで無制限にアンドゥできます。
取得したい範囲を塗りつぶし終わったら、「OK」を押してください。
以下のダイアログが表示されます。
このダイアログで、取得するズームレベルの範囲を指定します。0が最詳細、19が最広域となります。
現在表示しているズームレベルも表示していますので、参考にしてください。
出力フォーマットは、シェルスクリプト形式 (down_imgs 用) と、per形式 (down_imgs.pl 用) が選べます。
指定が終わったら、OKキーを押してください。
指定した範囲の地図取得コードがクリップボードに保存されます。
メモ帳や、ZEditorなどのエディタにペーストして、お好きなファイル名で保存してください。
このコードを down_imgs や down_imgs.pl に貼り付けて実行することで、手書きで指定した範囲の地図を取得することができます。
余談になりますが、私にとってダイアログ等のGUIが鬼門のようで、この程度のダイアログなのにかなり時間がかかってしまいました ^^;
QDialog は QWindow と違って mainWidget (?) を指定できないせいか、Dialogのサイズに合ってくれなくて・・。setGeometory で固定的に配置してしまったのですが、こういうものなんでしょうか?
リサイズ時は自前で再配置しないといけないってこと?
あと、うまくダイアログが作れなくて、手抜きで Qt Designer でダイアログを作成して .ui ファイルを作成したのにその通りに表示されなくてゲンナリ・・・。
結局今回の開発にかかった時間の半分以上はダイアログまわりでした。
GUI は難しいですねぇ。