マイコン工作実験日記

Microcontroller を用いての工作、実験記録

Static Maps APIへの移行

2008-06-08 16:14:11 | W-SIM
以前からそのうちにやろうと思っていたGoogle Static Maps APIへの対応作業をおこないました。これまでの使っていたmapprintというAPIは非公式なものでしたが、staticmapはGoogleが公式に公開しているAPIです。使い方のあらましは、どちらも同じようなものですが、細かい点はビミョーに異なっていました。
  • 緯度/経度の指定順序が逆になった。以前は小数点を省略したが、今度は必要。
  • Zoomレベルの指定が逆になった。以前はゼロが最大ズーム。今度は17で最大。
  • 画像サイズの指定はwidth,heightの形式からwidthxheightの形式になった。
  • APIを利用するに際しては、GoogleからAPI Keyを取得する必要あり。

APIキーの取得はWebページで即時にできますし、APIの変更も微々たるものですので、対応作業にはさして時間はかかりませんでした。APIを使って取得できるのは、指定した緯度経度を中心とする、指定したサイズの画像である点も同じです。公式サービスであることを強く印象付けてくれるのは、やはり地図画像の中にシッカリとGoogleロゴが入るようになったということでしょうか。



APIの変更と同時に操作用の簡単なUIも用意してみました。画面の最下部にはズームレベルを指定/表示するスケールを用意しました。ここでの1~8の指定がstaticmap APIでのズームレベルの10~17に対応します。表示される領域の移動は画面上でのグラブ操作のようにタッチパネル上でペン先を移動することでおこないます。スムーズスクロールできるわけではないので、ペン先を離した時点で移動方向を判断してから新たな地図画像を要求してダウンロードするので、新たな画面が表示されるには数秒かかってしまいます。動画で示せば文章で説明するまでもないのですが、画像情報の要求のためにHTTPでconnectする際や、地図画像をダウンロードしている途中でしばしばタイムアウトエラーが発生してしまう問題が発生しており、原因をつかみかねています。単純に、PHS電波の入りが悪くてパケット通信が滞っているだけかもしれませんが。