モバイルで地図に要求することは?


 ZmapIIIがまともに動かなかったのは、実行時にディスクにワークエリアを確保するからだと推測する。現状ではワークフォルダまで仮想CD化して書き込めなくなってしまっているので、Zmapシステムがワークファイルを確保しようとしたときにエラーになって固まってしまうのだろう。
 ところで、ふと思ったのだが、Zmapは本当にモバイルに向いているのだろうか。いや、そう書くと語弊があるか。Zmapは文月のプロジェクトに向いているのだろうか? 住宅地図の老舗メーカーがリリースしたデジタル地図ソフトということでこれまで盲信してきたが、要はモバイルでの利用で妥協できる地図を提供してくれれば、どんな地図ソフトでもよいわけだ。地図ソフトが無ければ、紙の地図帳を持って出かける。印刷物には当然Zmapのような無段階縮尺機能や住所検索などはないが、それでも十分に使えるものだ。Zmapを十分に使うのはモバイル用途でなく、デスクトップ環境で地図DBとして使う方がよいのかもしれない。
 そこで、候補となる地図を探して試してみた。


◆◆◆ アルプス社 ProAtlas東海版
 IE3以上で動き、モバイル向けの地図ビューアの軽量版が入っているということで、導入してみた。
 しかし、以下の問題から、今回の用途には適さないと判断した。残念。



◆◆◆ 昭文社 Super Mapple Digital 東日本
 紙の地図もこの出版社のものを使っているので、地図表現は見慣れていて馴染みやすい。地図の縮尺のベースとなる地図は3段階しか無いが、愛知県の田舎に位置する自宅周辺が、詳しい地図で見易い上に、ほぼ正確に描かれていて気に入った(笑) ただ、描画速度が遅いのが少々気になった。
 導入する地図は詳細に選択できる。サブ機を実験機にし、必要そうな、広域地図の全国、中域地図の中部・関東、詳細地図の愛知・東京を入れてみたら、導入フォルダの容量は634MBになった。Zmapのときと同様、導入フォルダを丸ごとCD-Rに焼いて、後にVirtual化してみる。生成したVirtualCDファイルは、377MB。関東まで地図を選択しているのに、Zmapで作った愛知県のみの地図の仮想CDの1.5倍以下のサイズとは、なかなかものである。
 仮想化したCDにあるMappleの実行ファイルを直接実行してみた。問題なく起動したので、あちこちスクロールさせてみるも、特に落ちることもなかった。
 よし。文月に採用する地図はキミだ。

 まず、このままでは仮想CDが大きすぎるので、地図を限定しよう。広域地図は全国分は必要ないし、中域・詳細も、およそ出かける予定の無い、もしくは行く可能性の低い地域のデータは必要ない。レアケースには紙の地図で対応すれば済むことだ。地図を削り、ドキュメントやヘルプにまで手を掛けて、導入フォルダサイズを350MBにまで縮めた(愛知県&東京都心の詳細+αの地図導入状態) 仮想化してみると、198MB。まあまあだろう。

 さて、仮想CDを文月に移し、Mappleを実行してみると「空のフォルダを作成できません」というエラーが発生した。この程度の障害は想像の範囲にあったので、ファイルアクセスモニタで起動の様子を見てみたが、意外にも実際にファイルやフォルダを作っている様子はなかった。ならばなぜ此のエラーが発生したのだ? レジストリモニタでもアクセスを追跡してみたが手がかりはなく行き詰まってしまった。
 昭文社のWebサイトに情報を求めると、何と見事にFAQだった。「空のフォルダを作成できません」に対する対処は「IE4以上を導入してください」であった。
 確かにSuperMappleはマニュアルでも実行時にIE4以上を要求している。私はそれを、Zmapと同様にHTML Helpを見るために必要だとばかり勝手に思っていた(注:Zmapも本当はシステム的にIEが要るのかも知れない)。しかし実際には、Mappleはメインソフトの実行にIEのコンポーネントを必要としていたのだ。折角98liteでIEを除去したのに、地図ソフトの為だけに再びIE4を導入しなければならないとは・・・
 困り果ててインターネットに広く答えを求めてみると、とある掲示板で「98Liteのページを覗いてみては」、とのアドバイスを頂戴した。灯台もと暗しとはこのことだ。98Lite実施者であれば、少なからず同様の壁にぶつかっているヒトがいるはずだ。
 セルゲイさんのページを見に行くと、参考になりそうな話が載っていた。IEが必須のソフトを動かす為に、IEの在る環境も用意し、WinTip.exeという環境解析ソフトを使って、両方の環境で同一のソフトを動かしたときの差を見て、不足しているファイルやレジストリ情報を補うというものだ。
 まず文月に足らなかったものは、shdocvw.dllなるファイルだった。最初、このファイルをWin95のキャビネットから持ってきたが、どんなに試行錯誤してもうまくいかなかった。再び匙を投げそうになったが、何気にメイン機(Win98)のsystemフォルダを見ていたら、そこにあったshdocvw.dllのファイルサイズ(2.4MB)が、Win95から持ってきたshdocvw.dll(450KB)とあまりにも違っていたので、「これは何かある」と踏み、Win98のshdocvw.dllで再度試してみることにした。
 shdocvw.dllを用意して次に引っかかったのは、shdocvw.dllに関する1つのclassデータが欠落していたことだ。メイン機からclass記述をレジストリファイルの形で取り出して、文月で取り込んだ。

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{8856F961-340A-11D0-A96B-00C04FD705A2}]
@="Microsoft Web Browser"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{8856F961-340A-11D0-A96B-00C04FD705A2}\Control]
@=""

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{8856F961-340A-11D0-A96B-00C04FD705A2}\InProcServer32]
@="C:\\WINDOWS\\SYSTEM\\SHDOCVW.DLL"
"ThreadingModel"="Apartment"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{8856F961-340A-11D0-A96B-00C04FD705A2}\MiscStatus]
@="0"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{8856F961-340A-11D0-A96B-00C04FD705A2}\MiscStatus\1]
@="131473"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{8856F961-340A-11D0-A96B-00C04FD705A2}\ProgID]
@="Shell.Explorer.2"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{8856F961-340A-11D0-A96B-00C04FD705A2}\ToolboxBitmap32]
@="C:\\WINDOWS\\SYSTEM\\SHDOCVW.DLL, 257"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{8856F961-340A-11D0-A96B-00C04FD705A2}\TypeLib]
@="{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{8856F961-340A-11D0-A96B-00C04FD705A2}\Version]
@="1.1"

[HKEY_LOCAL_MACHINE\Software\CLASSES\CLSID\{8856F961-340A-11D0-A96B-00C04FD705A2}\VersionIndependentProgID]
@="Shell.Explorer"

 再びMappleを起動してみると、動いた、動きました!

 仕上げに昭文社のサイトにあったシステムアップデータを当て、仮想CDを作り直した。描画が早くなって良くなった。

Cドライブ使用容量: 761MB→699MB
うち、windowsフォルダ: 110MB→114MB
system.dat = 1429KB→1433KB
user.dat = 125KB→133KB


 仮想CDを放り込んであるフォルダ(515MB)と、残りに分ければ、リカバリCD-Rの作成も不可能ではない。






indexへ戻ります