Skip to content

JA Grid is a smartphone app to show the Grid Locator at the current location

License

Notifications You must be signed in to change notification settings

JS2IIU-MH/jagrid

Repository files navigation

JA Grid

移動運用のお供に。現在地のグリッドロケータを表示します。

License: MIT

動作環境

  • iOS
  • Android

リリースノート

Version Release リリースノート Date
1 (1.0.0) 初回リリース 2024/01/03
2 (1.0.1) WEB API周りを修正 2024/01/03
3 (1.0.2) v1.0.2-alpha WEB API周りを再度修正。本バージョンにて、Android版のみGoogle Playでクローズドテスト実施中。 2024/01/03
4 (1.0.3) 次回予定 WEB APIリクエストの回数を制限(前回リクエスト時の位置と現在位置の距離をみる)

プライバシーポリシー

アマチュア無線局JS2IIUおよびその免許人は、提供するアプリ「JA Grid」の利用者に関する個人情報を含んだ情報の取り扱いについて、以下のとおりプライバシーポリシーを定めます。

  • 取得する個人情報を含んだ情報

    • 本アプリケーションにおいては、現在地情報としてスマホのGPS情報を読み取ります。GPS情報の読み取りにはユーザーによる許可が必要であり、許可されない状態では本アプリケーションがGPSを読み取ることはありません。
  • 外部送信、第三者提供、情報収集モジュール

    • スマホのGPS情報を取得して、Yahooデベロッパーネットワークが提供するYahoo!リバースジオコーダAPIに送信して現在地の住所を取得しています。
    • GPS情報を送信する際に、アプリの利用者を特定する情報など、GPS情報以外は外部送信していません。
    • 情報収集モジュールは使用しておりません。
  • お問い合わせ

    • 本アプリケーションおよびプライバシーポリシーに関する、ご意見、ご質問、苦情の申し出その他、個人情報を含んだ情報の取り扱いに関するお問い合わせは、Githubのユーザページに示すSNS経由、もしくはJARLメールにてご連絡ください。
  • 改訂

    • アマチュア無線局JS2IIUの裁量に基づき、本ポリシーを変更する可能性があります。ただし、取得する個人情報を含んだ情報の取り扱いに変更が発生した場合は、本Githubリポジトリにて通知いたします。
  • 制定日・改訂日

    • 制定: 2023年12月23日

テスト

Simulator Mobile Device
iOS iPhone 15 Pro Max iOS 17.0
iPhone 15 Pro iOS 17.2
Android Pixel 2 API 30
Pixel 3 API 33
AQUOS wish A103 API 33

追加するかもしれない機能メモ

  • グリッドロケータの検索履歴(いつ、どこ)を記録する機能
  • 共有する文字列カスタマイズ機能

参考メモ

以下、自分の覚えメインです。

GPS情報とGeolocator

  • geolocator | Flutter Package
  • flutter geolocationの許可のエラーを解決したい
  • 【Flutter】スマホの位置情報を取得するやり方
  • Geolocatorのつまづきポイント
    • ios/Runner/info.plistに以下のコードを追加する。WhenInUseUsageUseが抜けていた・・・
      <key>NSLocationWhenInUseUseageDescription</key>
      <string>This app needs access to location to show GL on the screen</string>
      <key>NSLocationAlwaysUsageDescription</key>
      <string>This app needs access to location to show GL on the screen</string>
    • 上記でもうまくいかずに、以下の記載に変更。3項目必要。
      <key>NSLocationWhenInUseUsageDescription</key>
      <string>This app needs access to location when open.</string>
      <key>NSLocationAlwaysUsageDescription</key>
      <string>This app needs access to location when in the background.</string>
      <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
      <string>This app needs access to location when open and in the background.</string>
    • android/app/src/main/AndroidManifest.xmlに以下の2行を追加する。綴りを間違えないように・・・
      <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    • android/app/build.gradle、2箇所修正必要。2箇所あります。1箇所変更してやったつもりになっていましたが、ここに気づくのに大変時間がかかりました。
      compileSdkVersion 33
      targetSdkVersion 33
    • Dartコードの中で、位置情報へのアクセス許可ダイアログが出るようにします。ユーザ操作で許可してもらいます。これでようやくGPS情報が取り出せます。位置情報はプライバシーに関わる大事な情報ですからね・・・
      LocationPermission permission = await Geolocator.checkPermission();
      if (permission == LocationPermission.denied) {
          permission = await Geolocator.requestPermission();
          if (permission == LocationPermission.denied) {
              return Future.error('no permission granted......');
          }
      }
  • Pythonで逆ジオコーディング【国土地理院API】 #pandas - Qiita
  • 逆ジオコーディングAPIサービス、いつどれを使えばよいか調べた話
  • 逆ジオコーディング - NAVITIME API 2.0 仕様書
  • ジオコーディング サービス  |  Maps JavaScript API  |  Google for Developers

Grid Locator

非同期処理

環境変数

Share Button

デバッグが一段落したら

WEB API

Google Playで内部テストを行った際に、ジオコーダーのAPIが動作しない問題が発生。アプリの権限の設定不備が原因。android\app\src\main\AndroidManifest.xmlに以下の内容を記載することで権限の問題が解決した。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

2地点間の距離(緯度経度から計算する)

SQLite

About

JA Grid is a smartphone app to show the Grid Locator at the current location

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published