OpenStreetMap(OSM)は、道路地図などの地理情報データを誰でも利用できるよう、フリーの地理情報データを作成することを目的としたプロジェクトです。誰でも自由に参加して、誰でも自由に編集でき、誰でも自由に利用する事が出来ます。本サイトは、日本語での情報提供や相互互助の支援を行っています。 (OpenStreetMap Japan)

OpenStreetMapのデータのライセンスは、ODbLになってます。

OpenStreetMapを使うAndoroid向けProjectは数多くあります。

http://wiki.openstreetmap.org/wiki/Android

Yahooでも「Yahoo! AndroidマップSDK」でOpenStreetMapが使えますが、いろいろ縛りがあるので ここではMaps(-)のものを使ってみます。簡単です。

追加
mapquest版を追加

リンク

OpenStreetMap Japan

本家サイトOSM.org

Yahoo! AndroidマップSDK

mapquest

TOP

mapquestでの作り方

mapquestStreetOpenMapはAPIの資料が充実しています。

開発にはEclipseを使います。

現バージョンの MapQuest SDK for AndroidはAPIのLevel 3とLevel 15を要求します。

事前にEcliseのSDKマネージャーでインストールしておきましょう。

このサイト から、Android Maps API and Samplesをダウンロードして解凍し、samplesのフォルダーをEclipseのworkspaceに移しておきます。

Package Explorer のimportでサンプルを読み込みます。

これだけです(^^)。

デモサンプルは26種類ほど用意されています。



SimpleMap
ピンチイン/アウトで縮小・拡大。



CircleOverlayDemo



PolygonOverlayDemo



MyLocationMap



面白いです。いろいろ試して遊んでみましょう。

TOP

Maps(-)での作り方

開発にはEclipse(INDIGO)を使い、Androidのターゲットは2.3.3( or later)です。

Maps(-)のソースコード・リソース・AndroidManifest.xmlは、
github からダウンロードできます。(Apache License 2.0)



ただ、オリジナルには一部データの欠落があるようですので、修正版を落とせるようにしました。
対象は、strings.xml。

<string name="hello_world">Hello World, MapsActivity</string>
の修正と<string name="menu_settings">Settings</string>の追加です。





Eclipseを起動して新規にプロジェクトを作ります。

File -> New -> Project -> Android Application Project

Appltcation・Project Nameは適当につけてください。

Package NameはMaps(-)の場合、coderminus.mapsです。

Create Activity でBlank Activityを作るとして、Maps(-)ではAvtivity Name は MapsActivityです。

Package Explorerで新しくできたプロジェクト名を右クリック。
Propertiesの設定でResourceのText file encodingをUTF-8に変更。

Windowsに戻って、プロジェクトのフォルダーを開いて、ダウンロードしたフォルダーとxmlファイルをまんまコピー。

次にEclipseに戻って、プロジェクト名を右クリックしてRefresh。

以上です。


こんな感じ。



この状態で使えるのはフリースクロールとズームイン/アウトのみです。

ズームインして見たい場合は、目的の場所を中央に持ってきてズームインボタンをタップ。



ズームのMax値は18(地図の右上に表示されます)。
いたってシンプルな地図です。好みによりますが、こういうシンプルさもなかなかいいです。

またズームしたりスクロールしたりすると分かるのですが、サイトからのデータはキャッシュされています。 左上に表示されます。



キャッシングの間、地図がぼやけた感じになりますが、終わるとすっきり表示になります。





スマホのメニュ(ハードキー)を押します。

MyLocationをタップするとGPSで現在地が測位されて表示が変わります。
精度はAndroidのLocationManagerに依存。



Cache areをタップすると、地図をいろいろなズームレベルでキャッシュできるようです。



Preferencesをタップすると、各種設定のメニュが出ます。
それぞれの意味は....また後日ということで。





TOP