Biz/Browser AI独自機能

Q
GPSやネットワークを利用して位置情報の取得を行う(Android)  

A
Biz/Browser AIでは、GPSやネットワークを利用した位置測定が可能です。

Android、iOSのいずれのOSでも位置測定機能が利用できますが、指定する引数等、
記述方法に違いがあります。
iOS上で使用する場合は以下のTIPSをご参照下さい。

 ・GPSやネットワークを利用して位置情報の取得を行う(iOS)

本TIPSでは、Android上で位置情報を取得するサンプルコードをご紹介します。

[ 利用するプロパティ・メソッド ]
  Runtimeクラス
  StartLocationMeasureメソッド
    引数で位置測位の方法(※)を指定し、位置測位を開始します。
位置測位中は、位置情報が更新される度にLocationChangedイベントが発生します。
  LocationChangedイベント
    位置測位を開始した状態で、位置情報が更新されたときに発生するイベントです。
イベントハンドラ[OnLocationChanged(e){...}]で、各種の位置情報を取得できます。
  StopLocationMeasureメソッド
    位置測位を停止します。
  IsProviderEnabledメソッド
    引数で位置測位の方法(※)を指定し、測位に必要な機能が有効になっているかを
取得します。
  ShowLocationSettingsメソッド
    端末の位置情報サービス設定画面を表示します。

※位置測位の方法(ロケーションプロバイダー)は次の2種類が使用できます。
  Runtime.LOCATION_PROV_GPS :GPSを用いて測位します。
  Runtime.LOCATION_PROV_NETWORK :ネットワークやWiFiを用いて測位します。

[サンプルコード]
 TextBox latitude {
  …
 }
 TextBox longitude {
  …
 }
 Runtime rt1{
  
  /* LocationChangedイベントのイベントハンドラ */
  Function OnLocationChanged(e){
   
   if(e == null){
    /* 測定情報が取得できない場合 */
    //.MessageBox("位置情報が取得できませんでした");
   }
   
   /* 取得した緯度、経度をTextBoxへ表示 */
   ^.latitude.value = e.latitude;
   ^.longitude.value = e.longitude;
   
   /* 位置測位を停止 */
   StopLocationMeasure();
  }
 }
 Button Button1 {
  X = 11;
  Y = 129;
  Width = 232;
  Height = 27;
  Title = "位置情報を取得";
  
  Function OnTouch( e ) {
   
   if(Runtime.isProviderEnabled(Runtime.LOCATION_PROV_NETWORK)){
    /* ネットワークでの位置計測が有効になっている場合 */
    /* 位置計測を開始 */
    ^.rt1.startLocationMeasure(Runtime.LOCATION_PROV_NETWORK);
   
   }else{
    /* 有効になっていない場合 */
    /* メッセージを表示 */
    //.MessageBox("位置計測が無効になっています。有効にしてください。");
    /* 端末の位置情報サービス設定画面を表示 */
    Runtime.showLocationSettings();
   }
  }
 }

CRSファイル形式のサンプル
  「GPSやネットワークを利用して位置情報の取得を行う(Android)(RtAi_001.zip)
で実際の動作をご確認いただけます。

管理番号:RtAi_001
  Biz-Collections Bizの宝箱 トップへ
  Biz/Browser HT・Biz/Browser SmartDevice・Biz/Browser AI TIPS集 トップへ