アシアルブログ

アシアルの中の人が技術と想いのたけをつづるブログです

iPhoneアプリでGoogleMaps以外の地図を使用する

こんにちは、アシアルの中川です。

iPhoneで地図アプリを開発するとなると、皆さんGoogleMapsを使われていると思われますが、動作がちょっともっさりしていると感じませんでしょうか?

他に何か地図を使えないかと探してみたらMicrosoftのバーチャルアースを使用できるライブラリを発見しました。

route-me



UIViewを使用したGoogleMapsと違い非常に軽快に動作するのが特徴です。
また、地図も「OpenStreetMap」か「Microsoft Virtual Earth」が使用できるようです。

早速動作を確認してみました。

まず、上記プロジェクトのページからダウンロードしたファイル(RouteMe-0.10.tar.bz2)を解凍します。
その後、サンプルコードのMapView.xcodeprojをビルドして実行で試してみます。


デフォルトの地図は、「OpenStreetMap」を使用するようになっており、日本の地図は
ちょっと貧弱です。これを、「Microsoft Virtual Earth」に変更してみましょう。

変更する箇所は、以下の1ファイルだけです。

MapViewViewController.m



// Microsoft Virtual Earth用ファイルをimport
#import "RMVirtualEarthSource.h"


- (void)viewDidLoad {
    [super viewDidLoad];

	//追加	
	mapView.contents.tileSource = [[[RMVirtualEarthSource alloc] init] autorelease];
	
	・
	・
	・
	
	//ついでに位置の指定もコメントアウト部分をはずして指定先を変更してみます。
	CLLocationCoordinate2D newLocation;
	newLocation.latitude = 35.658632;
	newLocation.longitude = 139.745411;
	[[mapView contents] moveToLatLong:newLocation];
	[mapView setZoom:15];
	
	
}



これで、「Microsoft Virtual Earth」に切り替わります。
そして、そこにはなんと上の画像のように「東京タワー」が!

と、ドラッグでの地図移動操作も非常に軽快に動作していますし、マーカーの設置もできるので、使い勝手は、ちょっと触った感じでは、非常に好感触です。

ただし、最大の問題点が!ライセンス上iPhoneに組み込んで使用する場合、無償ライセンスでは無理な気がします。。。。詳細は、Virtual Earth のライセンス モデルを参照してください。