2008-08-07

モバイルGoogleマップでKMLを表示させる方法

ここしばらく、モバイルGoogleマップにローカルのKMLファイルを読ませる方法がわからずに悩んでいました。
 
KMLファイルを Webサーバに置いておけば、
GoogleMaps.exe -URL "?action=locn&a=http://~"
と指定することでKMLファイルを表示することができるのですが、いちいちWebサーバにアップするのも面倒ですよね。
file://~とかでいけるのかなとも思ったのですが、読み込んでくれませんでした。
 
ところが今日になって 作成したKMLファイルを誤ってタップしたところ、モバイルGoogleマップが起動してファイルの内容が表示されるではありませんか。
以前からこんな動きだったのでしょうか? それとも最近更新した2.2.0.16の新機能?
 
いずれにせよ、これで悩みは一気に解決。
結局はShellExecuteEx()を使ってファイルを開くだけでした。
SHELLEXECUTEINFO sei = {0};

if (CreateKML()) {
    sei.cbSize = sizeof(sei);
    sei.fMask  = 0;
    sei.hwnd   = NULL;
    sei.lpVerb = _T("open");
    sei.lpFile = GetKMLFileName();
    ShellExecuteEx(&sei);
}

でも、こういう使い方は最初から公開しておいて欲しいですよね...。
 

2 件のコメント:

rzero3 さんのコメント...

はじめまして、rzero3と申します。
「X01HTの日記」さんからたどらせていただきました。
私もkmlからGoogleMapへの表示がどうにかならないかをいろいろ試していたのですが、いつのまにかkmlをクリックするだけできるようになっていたのですね。
貴重な情報ありがとうございますm(_ _)m。

kazuaki さんのコメント...

rzero3さん こんにちは。
コメントありがとうございます。

やはり以前はダメでしたよね。
「前からできたよ」とかいう反応があったらどうしようとドキドキしていました(笑