Biz/Browser AI独自機能

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

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

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

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

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

[ 利用するプロパティ・メソッド ]
  Runtimeクラス
  StartLocationMeasureメソッド
    引数で位置測位の精度(※)を指定し、位置測位を開始します。
位置測位中は、位置情報が更新される度にLocationChangedイベントが発生します
  LocationChangedイベント
    位置測位を開始した状態で、位置情報が更新されたときに発生するイベントです。
イベントハンドラ[OnLocationChanged(e){...}]で、各種の位置情報を取得できます。
  StopLocationMeasureメソッド
    位置測位を停止します。
  IsProviderEnabledメソッド
    位置情報サービスが有効になっているかを取得します。
 - ロケーションプロバイダは指定できません。
 - アプリ個別の有効/無効設定は判定できません。

※位置測位の精度は次の3種類が使用できます。
  Runtime.LOCATION_ACCURACY_HIGH :最高精度で測位します。
  Runtime.LOCATION_ACCURACY_MEDIUM :中精度(誤差数百m前後)で測位します。
  Runtime.LOCATION_ACCURACY_LOW :低精度(誤差数km前後)で測位します。

[サンプルコード]
 TextBox latitude {
  …
 }
 TextBox longitude {
  …
 }
 Runtime rt1{
  
  /* LocationChangedイベントハンドラ */
  Function OnLocationChanged(e){
   
   if(e.isMeasuringFailed == 1){
    /* 測定情報が取得できない場合 */
    //.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()){
    /* 位置情報サービスが有効になっている場合 */
    /* 位置計測を開始 */
    ^.rt1.startLocationMeasure(Runtime.LOCATION_ACCURACY_MEDIUM);
   
   }else{
    /* 有効になっていない場合 */
    /* メッセージを表示 */
    //.MessageBox("位置計測が無効になっています。有効にしてください。");
   }
  }
 }

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

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