package net.npaka.locationex;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.Window;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapView;
import com.google.android.maps.MapController;
//位置情報の取得
public class LocationEx extends MapActivity
implements LocationListener {
private final static String API_KEY=//APIキー
"0irhEh6YEn44XJ9PLmGeUeITmeTPuDPSBBg9CMw";
private MapView mapView;//Mapビュー
private MapController mapCtrl;//Mapコントローラ
private LocationManager lm; //ロケーションマネージャ
//初期化
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
requestWindowFeature(Window.FEATURE_NO_TITLE);
//ロケーションマネージャの設定
lm=(LocationManager)getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,this);
//Mapビューの生成
mapView=new MapView(this,API_KEY);
setContentView(mapView);
mapCtrl=mapView.getController();
mapCtrl.setZoom(16);
}
//ルート表示するかどうか
@Override
protected boolean isRouteDisplayed() {
return false;
}
//位置情報変更のイベント処理
public void onLocationChanged(Location location) {
//緯度と経度の取得
GeoPoint pos=new GeoPoint(
(int)(location.getLatitude()*1E6),
(int)(location.getLongitude()*1E6));
mapCtrl.setCenter(pos);
}
//位置情報取得有効化のイベントの処理
public void onProviderEnabled(String provider) {
}
//位置情報取得無効化のイベント処理
public void onProviderDisabled(String provider) {
}
//位置情報状態変更のイベント処理
public void onStatusChanged(String provider,int status,Bundle extras) {
}
}
|