この間まで知らなかったのだが、日本では有名な地図ソフトの会社であるマピオンが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の拡充していけば作れるんでないかなーと思うわけで。マピオンのなかの人にここはひとつ頑張ってもらうしか、と願っている。