問題タブ [clregion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Xamarin.Forms を使用して iOS および Android で GPS イベントを介してアプリを自動的に起動する
職場では、ユーザーが職場に出入りするルートを追跡するアプリを作成しました。自動記録機能が組み込まれていますが、期待どおりに動作しません。この自動システムは、1 日か 2 日非アクティブな状態が続くと、OS によってオフにされているようです (その間、電話は動かず、基本的にはテストのみに使用されます)。
iOS では、CLRegions を使用して、ユーザーの現在の位置の周りにいくつかの領域を作成しています。ユーザーの正確な位置に異なる半径で 5 つの領域が作成され、10 メートルの距離でユーザーの周りの円内に 12 の領域が作成されています (これらは半径は 80 メートルです)。また、CLLocationManager オブジェクトは、重要な変更と訪問の監視を開始するように指示されます (ただし、これらはまだ一度も起動されていません)。
Android では、LocationServices API を介して Geofences を使用しています。ここでは、ユーザーの現在位置の周囲に 5 つの増分半径しかありません。ユーザーが Android でアプリを閉じるか、電話を再起動すると、バックグラウンド サービスが起動され、ジオフェンスが再初期化されて監視が開始されます。
どちらのシステムも、私が少し外を歩いてテストしているときは非常にうまく機能しますが、1 日か 2 日 (つまり週末) 何も操作しないと、機能しなくなったようです。私はこれをかなり長い間デバッグしてきましたが、改善されたとはいえ、まだ完全ではありません。
アプリがオフになっている時間に関係なく、ジオフェンス/リージョンがトリガーされたときにバックグラウンドでアプリを自動的に開始する信頼できるシステムを持つことさえ可能ですか? 両方の OS がバックグラウンド タスクを非常に異なる方法で処理することは知っていますが、この方法での GPS 使用の長期的な制限についてはよくわかりません。
私たちが作成しているアプリは Xamarin Forms で作成されていますが、これらのシステムはネイティブ プロジェクトで作成されています (まだ C# ですが、ネイティブ プラットフォーム全体にフル アクセスできます)。
swift - iOS アプリの RegionMonitoring の制限
デバイスの位置をサーバーにほぼ正確に更新する必要があるアプリを開発しています。500 の差を許容できます。データでは 700 メートル。
バックグラウンドモードとフォアグラウンドモードでうまく達成できました。私の主な懸念は、アプリが終了したときの場所の更新です。そのため、アプリの終了時に重要な場所の変更を実装しましたが、場所の変更をデバイスにランダムな方法で非常に不正確に通知するか、場所の更新に大きな遅延が発生することがあります位置情報は 2 ~ 3 km で更新され、場合によっては 7 km 離れていないこともあります。
そのため、私のチーム メンバーの 1 人が、アプリの終了時にリージョン モニタリングを実装するよう提案してくれました。リージョン モニタリングを実装しましたが、適切に機能していません。また、アプリからモニタリングできるリージョンは最大 20 までしかないことをどこかで読んだことがあります。
私が試した以下のサンプルコードは次のとおりです。
アプリが終了しても位置情報を更新するにはどうすればよいですか? 上記のコードで何か問題がありますか?
iphone - アプリがバックグラウンドの場合、CLLocationManager didDetermineState メソッドが呼び出されない
アプリケーションの 1 つにジオフェンシングを使用しています。しかし、私はそれで1つの問題を抱えていました。アプリケーションがバックグラウンドモードの場合、(void)locationManager:(CLLocationManager *)manager didDetermineState:(CLRegionState)state forRegion:(CLRegion *)regionが呼び出されません。
設定でアプリのバックグラウンド更新フラグがオンになっていることを確認します。
以下は私のコードです:
CLLocationManagerが適切に設定されています。私はそれについて調べましたが、私の問題に対する適切な解決策は得られませんでした。誰でも私を助けることができますか?
ありがとう
ios - 監視用のカスタム CLRegions の作成
ジオフェンシングを使用するアプリを構築していますが、CLRegion には次のような多くの制限があることに気付きました。
地域の監視が機能するためには、その場所の authorizationStatus が .authorizedAlways である必要があります。
円形の領域のみを監視できます
これにより、リージョン監視を使用して適用できる機能が制限されます。しかし、いくつかの調査を行った後、CLRegion のカスタム クラスを作成することでこの動作を変更する方法があることがわかりました。
正直なところ、これを行う方法やどこから始めればよいかわかりません。このようなカスタム CLRegion クラスがカスタマイズされたジオフェンシングをどのように許可するかについて、誰か提案はありますか?
これについて簡単に説明した appcoda に関するチュートリアルがありますが、詳細はまったくありませんでした。ここで見つけることができます。
https://www.appcoda.com/geo-targeting-ios/
そこでは、次のようなプロトコルから始めることを提案しています。
そして、これらから、ポリゴンの監視など、CLRegions のカスタム機能を作成できます。
カスタム領域の実装を開始するにはどうすればよいですか?
ありがとう!
ios - iOS 10 のジオフェンシング
UNLocationNotificationTrigger
定義された に基づいてローカル通知をトリガーするためにiOS 10 が導入されましたCLRegion
。iOS 10 より前は、 を使用してジオフェンシングを行い、ユーザーCLLocationManager
のstartMonitoringForRegion
場所に基づいてローカル通知を送信していました。
これら2つのアプローチの違いは何ですか?
ios - 特定の時間内に到達しない場合、CLRegion を期限切れに設定する方法はありますか?
ユーザーが選択した最終目的地としてマークするために使用しようとしてCLRegion
います。これにより、目的地に到達するとアプリがユーザーにプロンプトを表示します。
問題は、ユーザーが最終目的地をプロットし、実際にその地域に到達しなかった場合です。地域は永遠にそこにあります!(ある晴れた日まで、最終的に到達したときに突然メッセージが表示されます。)
インターネットで有効期限について何も見つからないようですか?誰か教えてください。