0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

デバイスの現在の場所を取得する方法【iOS】【Android】

Last updated at Posted at 2021-03-29

#目次

  1. はじめに
  2. 実装方法
  3. まとめ
  4. 参考

#はじめに
この記事ではkony.location APIを使用して、デバイスの位置情報を取得する方法をご紹介します。

#実装方法
####①画面の作成
1つの画面を作成します。
image.png

####②コーディング
コーディングを行います。

frmDemoController.js
define({ 

  getPosition: function () {
    var positionoptions = {
      timeout: 15000
    }; // 15秒
    kony.location.getCurrentPosition(this.successcallback, this.errorcallback, positionoptions);
  },

  // 成功時に呼び出されるコールバック
  successcallback: function (position) {
    var geoPosition = "緯度: " + position.coords.latitude;
    geoPosition = geoPosition + " 経度: " + position.coords.longitude;
    geoPosition = geoPosition + " 高度: " + position.coords.altitude;
    geoPosition = geoPosition + " 精度: " + position.coords.accuracy;
    geoPosition = geoPosition + " 高度精度: " + position.coords.altitudeAccuracy;
    geoPosition = geoPosition + " 見出し: " + position.coords.heading;
    geoPosition = geoPosition + " スピード: " + position.coords.speeding;
    geoPosition = geoPosition + " タイムスタンプ: " + position.timestamp;
    alert(geoPosition);
  },

  // エラー時に呼び出されるコールバック
  errorcallback: function (positionerror) {
    var errorMesg = "Error code: " + positionerror.code;
    errorMesg = errorMesg + " message: " + positionerror.message;
    alert(errorMesg);
  }

});

上を説明します。
kony.location.getCurrentPosition(successcallback、errorcallback、positionoptions):デバイスの現在の場所を取得できる。

successcallback - 必須

キー 説明
latitude [Number] 緯度
longitude [Number] 経度
altitude [Number] 位置の高さをメートルで表示したもの
accuracy [Number] 緯度と経度の座標の精度レベル
altitudeaccuracy [Number] 高度座標の精度レベル(単位:メートル)
heading [Number] 進行方向(北を基準にして時計回りに数えた度)
speeding [Number] デバイスの現在の対地速度をメートル毎秒で指定
timestamp [Number] Position objectが取得された時間

####③アクションの紐付け
関数の準備ができたらActionと紐づけていきます。

btnGetLocation(「Get Location」ボタン)を選択 > Actionタブをクリック > onClickのEditをクリック > Action(getPosition)紐づけ
image.png

####④Androidでの権限設定
位置情報を取得するためのアクセス許可を要求できるように設定します。

Project Settings > Native > Android > Manifest Properties & Build Entries

以下の2つを追加(Add)し、Finishをクリック
ACCESS_COARSE_LOCATION
ACCESS_FINE_LOCATION

image.png

####⑤iOSでの権限設定
iOSも設定していきます。
左側のメニューからAssets > Media > Common > infoplist_configuration.jsonの下矢印をクリック > Resourse Locationを選択し、ファイルを開く
※今回はVisual Studio Codeで開いています。
image.png

1番下の行に以下を追加
" NSLocationUsageDescription ": "Access Location"
スクリーンショット 2021-03-25 13.50.00.png

####⑥実装の確認
image.png
このように位置情報を取得できます。

#まとめ
今回は、デバイスの現在の場所を取得する方法について説明しました。
みなさんもぜひ活用してみてくださいね:wave:

#参考
kony.location Namespace:
https://docs.kony.com/konylibrary/visualizer/viz_api_dev_guide/content/kony.location_functions.htm

Runtime Permission API:
https://docs.kony.com/konylibrary/visualizer/viz_api_dev_guide/content/runtime_permissions.htm

Map Widgetを使って撮影場所を表示する:
https://qiita.com/Kony_Team/items/5b2fc9384801e0ae70c7

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?