About LocationSensor_MIT_AI
◆アプリ名: LocationSensor_MIT_AI (十二星座シリーズ / 開発コード名: Sagittarius)
現在位置(緯度・経度・高度)を取得したい場合、MIT App Inventor ではLocationSensor(※1)を使用します。
今回は、LocationSensorを利用した位置情報アプリを製造してみました。
具体的には、本アプリを起動した状態で所定位置の所定範囲に到着したら、音声&バイブレーションで通知し、所定位置をGoogle Mapで表示します。
なお、所定位置情報は、LocationSensorが捕捉している現在位置情報を使用します。
また、所定位置情報はアプリ内部に保存し、かつ、保存データをロードすることで流用可能です。
また、保存した所定位置情報は削除することも可能です。
なお、本アプリは内蔵メモリではなく、SDカードにインストールされます。また、本アプリは、MIT App Inventor V1.34(※2)で製造し、AppToMarket V3.2(※3)でリビルド したノンコーディングなものです。
※1 LocationSensorとは、GPS、携帯基地局、または無線LANが提供する情報を利用し、Androidデバイスの位置情報を取得するMIT App Inventor Sensor Componentsの一つです。
詳細は、公式HP(http://appinventor.mit.edu/explore/content/sensor.html#LocationSensor)をご参照下さい。
※2 MIT App Inventor V1.34
http://appinventor.mit.edu/
※3 AppToMarketV3.2
https://code.google.com/p/apptomarket/
【ご提供サービス】
★前提条件
(1) [設定]-[現在値情報とセキュリティの設定]にて[無線ネットワークを使用]のチェックがONとなっていること。
(無線LAN/モバイルネットワークの基地局情報から現在値を取得することが可能です。)
なお、(1)に加え、[設定]-[現在値情報とセキュリティの設定]にて[GPS機能を使用]のチェックをONにすると、GPSを利用した測位が可能です。
無線ネットワークとGPSを併用すれば、デバイスが無線ネットワーク圏外においても、現在値を取得できる場合があります(GPSでも地下等、遮蔽物の多いところでは位置情報を取得できない場合があります。また、GPSを使用するとデバイス電池消費量が増加します)。
★ご提供サービス
本アプリを起動した状態で所定位置の所定範囲に到着したら音声&バイブレーションで通知し、目的地をGoogle Mapで表示します。
★使用方法
以下の通りです。
(1) [Settings]ボタンを押しして下さい。設定エリアが表示されます。
(2) 1) Target Location の[Set target location]ボタンを押し、目的となる所定位置の設定方法を以下の2つから選択し、所定位置情報を設定して下さい。
もし、取得した情報を保存したい場合、[Set target location]ボタンの下にある[Save above target]ボタンを押して下さい。
また、過去に保存した所定情報を削除したい場合、[Save above target]ボタンの右横にある[Save above target]ボタンを押し、削除対象を選択して下さい。
(2-1) [Get now location, and use it]: デバイスの現在位置を取得し、所定位置情報とします。
(2-2) [Load saved information]: 過去に保存した所定位置情報から選択し、所定位置情報とします。
(3) 2) Target Area Range の右にある[数字]ボタンを押し、10/50/100/500[m]のいずれかを選択し、目的位置周辺エリアを設定して下さい。
例えば10mを選択した場合、所定位置の緯度方向±10m、または経度方向±10m以内のエリアにデバイスが到達した際、所定位置に"到着"したと判断されます。
…以下(4)~(7)は詳細設定の為、初期設定のままで問題ありません。ご興味のある方は変更して動作を確認してみて下さい。
(4) 3) Sensor Enabled: 右のチェックボックスをチェックすると、本アプリの基幹機能であるLocationSensorがONとなり、チェックを外すとOFFになります。
(5) 4) DistanceInterval: 右の[数字]ボタンを押し、0/1/10/100[m]のいずれかを選択し、測位最少距離間隔を設定して下さい。なお、本値が大きくなるほど位置情報の測位頻度が低くなります。例えば5mの場合、LocationChangedイベントは 5メートル以上デバイスが移動したと検知された場合のみ発生します。
(6) 5) ProviderLocked: 右のチェックボックスをチェックすると、位置情報提供サービス固定となり、チェックを外すと固定解除(可変)となります。
(7) 6) ProviderName: 「5) ProviderLockedのチェックボックスが未チェック」の場合のみ、[Select provider]ボタンが表示されます。本ボタンを押すと、押した時点で設定可能な位置情報提供サービスが表示されます。その中から選択した位置情報提供サービスがデバイスに設定されます。なお、「5) ProviderLockedのチェックボックスがチェック」の場合、[Select provider]ボタンは表示されず、デバイスに設定されている位置情報提供サービスが表示されます。
(8) 7) TimeInterval: 右の[数字]ボタンを押し、1000/10000/60000/300000[msec]のいずれかを選択し、測位最少時間間隔を設定して下さい。例えば、60000
msecの場合、60000msecよりも早く位置情報を更新することはありません。
(9) [Set new parameter]ボタンを押し、設定を更新します。[Clear and Set Default]ボタンを押すと、「1) Target Location」のみが未設定となり、その他の設定は初期値がセットされます。
2. 利用可能な位置情報提供サービス(LocationSensor.AvalableProviders)について
デバイスのAndroid OSバージョンによりますが、以下の3種類があります。
(1) gps: GPS、AGPSを使用した測位方式
(2) network: AGPS、CellID、WiFi MACIDを使用した測位方式
(3) passive: 既に位置情報更新を要求した他のアプリと共に位置情報更新を受け取る方式。CellID, WiFi MACIDのみ使用可能(Android2.2以降で実装開始)
詳細は、以下developers guideをご参照下さい。
http://developer.android.com/reference/android/location/LocationManager.html
LocationSensorが提供する機能を確認するお役にたてれば幸いです。
【十二星座シリーズについて】
本シリーズは、私がMIT App Inventorの APIを理解したいと考え、製造したアプリ群です。
従い、本シリーズは目的重視の為、実用的ではないかもしれません…が、どうかお許し下さい。
ただし、アプリのロジックとして、MIT App Inventor Blocks Editorの図を私のHPに公開させて頂こうと考えております。
ご参考になれば幸いです。
【ダウンロード後によくある質問】
いまのところございません。
【対応端末】
AndroidOSのバージョン2.0以上搭載の端末でご利用いただけます。
スマートフォン以外の機器(スマートTVなど)は、動作保証外です。
Download and install
LocationSensor_MIT_AI version 1.0.0 on your
Android device!
Downloaded 50+ times, content rating: Not rated
Android package:
appinventor.ai_vivo_tokyo_jp.LocationSensor_MIT_AI, download LocationSensor_MIT_AI.apk