19日、「マッシュアップ手法の魅力と今後のビジネス展開について」と題して、発表してきました。
1時間15分という、比較的長めの時間をいただいたので、具体的なマッシュアップサイトの事例をデモを交えながら紹介することができました。
先日の調査結果(Googleのリバースジオコーディングの機能)を反映した、最新の(?)出張JAWSもご覧いただいたのですが、ちょっとヘタこいてしまいました。
はりきってデモを見せたところ、肝心のリバースジオコードの処理部分でエラーが発生してしまうのです。
結局、出張JAWSの動作は実際にはご覧いただけないまま、口頭での機能説明にとどまりました。
オフィスに戻って調べたところ、この問題はIEで発生しており、Firefoxでは正常に動作することがわかりました。
完全なテスト漏れです。非常に初歩的なミスですね。
気をとりなおし原因を調べてみると、なんと、意外な所にワナが潜んでいました。
<仕様>
APIから戻ってくるレスポンスデータ内の「CountryName」という項目の値(Japan、China、USAなどがセットされている)を取得する。
その値が「Japan」だったとき、住所検索(リバースジオコーディング)に成功したものとする。
「Japan」以外だったとき(つまり外国の住所にヒットしてしまったとき)は、住所検索に失敗したものとする。
<現象>
Firefoxで利用した場合は、国名として「Japan」や「China」の文字列がセットされている。
IEで利用した場合は、国名に「日本」や「中華人民共和国」の文字列がセットされている。
そんなぁ・・・
というわけで、本当のところ(例えば、ブラウザの設定に応じてレスポンスデータの値を変更しているのかどうか)は良くわかりませんが、「Japan」もしくは「日本」だったら住所検索に成功したものとみなすことで解決できました。
やれやれ。