カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

現在地を取得する LocationClient

GoogleMapに限らず、位置情報を利用することは多いと思います。
LocationClientクラスを利用して位置情報を取得することができます。

GooglePlay開発者サービス(GooglePlayServices)を利用しますので、
プロジェクトにライブラリを組み込む必要があります。
導入方法は以下に書いていますのでご覧ください。
[Google Maps Android API v2]

今回、必要なインポートの抜粋。

import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.GooglePlayServicesClient.ConnectionCallbacks;
import com.google.android.gms.common.GooglePlayServicesClient.OnConnectionFailedListener;
import com.google.android.gms.common.GooglePlayServicesUtil;

import com.google.android.gms.location.LocationClient;
import com.google.android.gms.location.LocationListener;
import com.google.android.gms.location.LocationRequest;

Activityを継承したメインクラスにコールバックのクラスを実装します。

public class MainActivity extends Activity 
    implements 
    ConnectionCallbacks,
    OnConnectionFailedListener,
    LocationListener {

LocationRequestの設定をします。

private static final LocationRequest REQUEST = LocationRequest.create()
        .setInterval(5000)         // 5 seconds
        .setFastestInterval(16)    // 16ms = 60fps
        //.setNumUpdates(3)
        .setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);
LocationRequestのパラメータ設定
setInterval (long millis) ミリ秒単位で位置情報更新の間隔を設定します。
setFastestInterval (long millis) ミリ秒単位で位置情報更新の正確な間隔を設定します。
setNumUpdates (int numUpdates) 位置情報の更新数を設定します。
setPriority (int priority) 位置情報取得要求の優先順位を設定します。

続きを読む…»

10,231 views

VisualC#でMDBにアクセス

Windows7 64bit版のVisual C# 2008を使用してAccessのデータベースに
アクセスするアプリケーションを作っていたら以下のようなエラーに遭遇しました。

「’Microsoft.Jet.OLEDB.4.0′ プロバイダはローカルのコンピュータに登録されていません。」
(InvalidOperationException)

これは64bitのPCで開発することに起因するようです。
ビルドする際に32bit(x86)を対象にする必要があります。
以下、その方法です。

構成マネージャ

[ツール]-[オプション]を開きます。

左側のツリー表示に[プロジェクトおよびソリューション]-[全般]を選択します。
右側にある[ビルド構成の詳細を表示]にチェックを入れます。

※左側のツリー表示に[プロジェクトおよびソリューション]がない場合、
[すべての設定を表示]にチェックを入れます。 続きを読む…»

1,762 views

住宅ローン控除と生命保険料控除

2013年12月に書き留めておいたもので、掲載していなかったので掲載しておきます。
すでに住宅ローンの控除額や住民税控除額は変更されているようなので、現状は税務署等にその都度お尋ねください。

住宅ローン控除(住宅借入金等特別控除)

例)平成25年1月~平成26年3月の間に居住用住宅を購入し、居住を開始した場合

控除対象限度額 2,000万円
控除期間 10年間
税額控除率 1.0%
各年の控除限度額 20万円
累計最大控除額 200万円

住宅ローン控除は、優先的に所得税から控除し、引ききれない場合は9万7,500円を限度として翌年度分の住民税から控除されます。

※税率や限度額等は改正されることがありますので、詳しくは税務署等にご確認ください。
続きを読む…»

2,122 views

GoogleMap Android API v2 使い方#05

今回はマーカーをタップした時の処理をカスタマイズしてみましょう。
GoogleMapのオブジェクト(mMap)は作成済とします。

マーカータップ時の処理カスタマイズ

まずはマーカーを追加します。
詳細なマーカーの追加方法についてはGoogleMap Android API v2 使い方#02を参照ください。

marker = mMap.addMarker(new MarkerOptions()
    .position(new LatLng(34.7, 135.5))
    .snippet("スニペット"));

マーカーのイベントをカスタマイズし、マーカーのIDとスニペットをトーストに表示してみましょう。

mMap.setOnMarkerClickListener(new OnMarkerClickListener() {

    @Override
    public boolean onMarkerClick(Marker marker) {

        Toast.makeText(getApplicationContext(),
            marker.getId() + "\r\n" + marker.getSnippet(),
            Toast.LENGTH_LONG).show();

        return false;

    }

});

getIdメソッドはm0、m1…とマーカーのIDが返されます。
getSnippetメソッドは、マーカー作成時に設定したSnippetが返されます。

この機能を実装するとInfoWindowは表示されなくなります。
続きを読む…»

2,317 views

Playストアのアプリページへ移動する

パッケージ名を指定してPlayストアのアプリページへ移動することができます。

方法としては指定したURLをブラウザで開くのと同じやり方です。

String url = "market://details?id=com.google.android.gms&hl=ja";

URLの「details?id=」に続き、パッケージ名を入力します。

try{

      Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
      startActivity(i);

} catch (Exception e) {

  e.printStackTrace();

}
2,279 views