地図といえば、GoogleMapですが、もっと自由に地図のデータを使いたい場合には「OpenStreetMap(OSMと略すらしいです)」というものが使えそうです。
http://openstreetmap.jp/
「こんな良いものがあるなら、是非Androidアプリとして実装してみたい」
と思い、早速調べてみました。
googleで「openstreetmap api」で検索すると、
「JA:Xapi - OpenStreetMap Wiki」なるサイトがヒットしました。早速、サイトを開くと、地図データの取得方法が載っていました。
GoogleMapのようにメッシュ状にデータを取得したい場合、以下のようにするようです。
http://www.informationfreeway.org/api/0.6/map?bbox=11.54,48.14,11.543,48.145
ブラウザのURL欄に上記URLを入力すると・・・
はいっ!XMLでデータが受信できるようです。(なんだかモーレツに遅いです)
XMLには緯度経度らしきデータなどがありますので、
このデータを使えば地図が書けそうです。
マッハでAndroidアプリを作ります。
はじめに、OSMからデータを取得します。取得できたデータがXMLなのでXMLパーサーを作らなくてはなりません。
次に、地図の絵を作ります。緯度経度を座標にマップして、いっぱい線を描いていきます。緯度経度のマッピングに頭を悩ませました。(拡大したり移動したり大変でした)
また、線の種類によって色を変えたり、太さを変えたりしました。(高速道路は水色で太くなど・・・)
メッシュ画像ができたら、画面に並べていくと・・・
おぉぉぉ!地図が書けた。
ここまで来たら後はスクロール処理を実装すれば完成です。
以上、作った地図表示アプリをキャプチャーしました。
具体的な実装については、またの機会に投稿したいと思います。
投稿者:島田
0 件のコメント:
コメントを投稿