2011年7月21日木曜日

自由に使える地図データ

地図といえば、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 件のコメント:

コメントを投稿