Tue, 01 Feb 2011 (平成23年) [長年日記]
_ .NET Framework に組み込んだ IE コンポーネントで
Google maps API を使うアプリケイションを同僚が作ったのだけども「インターネットゾーン」の設定が弊社標準の「高」だと動かないのでどうしたものかとの相談が舞い込んできた。Google maps API ということは http://maps.google.com と http://*.1e100.net あたりを「信頼済みサイト」に追加すれば動くだろうと設定してみたけどぜんぜんダメ。他にも使うサイトがあるのかもしれないと気分的にはかなり譲歩して「アクティブスクリプト」を「有効にする」に設定変更してみたら、アプリケイションは動作してる(マーカーなどは表示される)のに肝心の地図画像が起動直後に一瞬だけ表示されただけでその後は表示されない状態に。
「中高」にまで落とせば動くのだがそれでは負けの気分がするのでそれっぽい項目を一つずつ有効にしたり無効にしたりして必要な項目を割り出した。犯人は「バイナリビヘイビアーとスクリプトビヘイビアー」で、これを有効にしたら地図画像が正常に表示されるようになった。というわけで、その項目に対応するレジストリを書きだして彼に渡して、起動時にその部分だけ変更してもらい、終了時に「高」に戻す方式で実装してもらった。
ローラー作戦に取りかかる前にググったら「SONY GPS Image Tracker や Nikon ViewNX の地図が表示されない」という事例を見つけていたのだけども、症状からすると同じ設定項目じゃないかな、と Trackback は嫌いなのでここに書くだけにしておく。