この間まで知らなかったのだが、日本では有名な地図ソフトの会社であるマピオンがAndroid Maps APIを提供開始していた。つまり、GoogleMapsを利用しないでも地図アプリが作成できるようになった。
ってことで試しにGPS連動の地図アプリを作ってみた。このアプリでは、GPSで緯度経度を取得した後、その位置を中心にして地図を表示させている。ほんと動くだけのサンプル。
ソースコード
とりあえずメインだけ。
package com.example.android.mapionmap;
import jp.co.mapion.android.maps.*;
import android.content.Context;
import android.location.*;
import android.os.Bundle;
import android.widget.LinearLayout;
public class MapionMapsActivity extends MapActivity implements LocationListener {
MapView mapView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout layout = new LinearLayout(this);
setContentView(layout);
layout.setOrientation(LinearLayout.VERTICAL);
LocationManager l = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
l.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
String apikey = "APIKEY";
mapView = new MapView(this, apikey);
layout.addView(mapView, new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT));
}
public void onLocationChanged(Location location) {
mapView.getController().animateTo(new GeoPoint((int) (location.getLatitude() * 1E6), (int) (location.getLongitude() * 1E6)));
}
public void onProviderDisabled(String provider) { }
public void onProviderEnabled(String provider) { }
public void onStatusChanged(String provider, int status, Bundle extras) { }
}
APIキーは外してあるから自分で取得してね。
組み込みAndroidには朗報
Google MapsがあるのになんでマピオンのAndroid Maps APIを利用するの? という疑問がでてくるのは至極自然な話。現在のところは、Androidケータイ向けアプリであればマピオンのAndroid Maps APIを積極的に利用する理由がない。
ただ、現時点でメリットあるなと思ったのが、組み込みAndroidからでもこのAPIが利用できるという事。試しにFroyo on BeagleBoard-xMでアプリを動かしてみたが、ちゃんと地図が表示された。ちなみに、Androidケータイ向けアプリでは利用できるGoogle Maps APIだが、オープンソース版Androidには、システム側にGoogle Mapsのライブラリが含まれていないので利用できないのだ(Googleとの契約が必要らしい)
そういった事情もあり組み込みAndroidではGoogle Mapsを利用した地図アプリを簡単に提供する事ができなかったのだが、このマピオンのAndroid Maps APIを利用する事でこの問題が解消される。これでハードがちゃんと揃えば、将来"オレオレカーナビ"を作成するのも夢ではない。
現時点では、マピオンのAndroid Maps APIは地図表示以外の機能は豊富ではないのでオレオレカーナビを作成するのは大変なのだが、この先APIの拡充していけば作れるんでないかなーと思うわけで。マピオンのなかの人にここはひとつ頑張ってもらうしか、と願っている。