Blackberry API は、(信号レベル、ネットワーク帯域幅、およびその他の環境プロパティに応じて) 現在の状況でGPS
どちらが優れているかを判断する方法を提供していますか?Geolocation
1 に答える
使用するのに最適なロケーション モードを決定するために使用できる、非常に多くの異なるアルゴリズムがあります。
よく調整されたアルゴリズムは、次のようなことを考慮する必要があります。
- ユーザーが位置情報を修正する必要があるのはどのくらいの速さですか?
- 修正はどの程度正確である必要がありますか? 近くの映画館を見つけるために使用されているだけですか、それともナビゲーションに使用されているのですか (これは本当に正確である必要があります)?
- どの携帯キャリアを使用していますか? GPS の結果は通信事業者に依存しない場合がありますが、他の地理位置情報技術は通信事業者とそのインフラストラクチャに依存します (Wi-Fi ではなくセルラー ネットワークを使用していると仮定します)。
- ネットワーク送信を制限する必要がある理由はありますか (たとえば、場所を頻繁に更新する従量制データ プランの場合)。
- バッテリーの使用量はどれくらい重要ですか?
- どの BlackBerry OS バージョンをターゲットにしていますか?
他にもいくつかの要因が欠けていると思いますが、アプリとネットワークの展開について何も知らなくても解決できる単純な問題ではないことがお分かりいただけると思います。
また、BlackBerry (Java) アプリ向けのこの種のアルゴリズムは、従来、最適化に多くの作業が必要でした。そのため、多くの開発者 (またはクライアント) は、これを厳重に保護された企業秘密と見なします。そのため、アルゴリズムを公開する人を見つけるのは難しいかもしれません (しかし、質問しても問題ありませんよね?)。
とはいえ、少なくともBlackBerry Simple Location APIを見てみるとよいでしょう。これは、GPS モードと地理位置情報モードを選択する基本アルゴリズムのオープン ソース実装です (両方の使用を許可している場合)。Javadocs から (最適モードの場合):
可用性に基づいて、地理位置情報モードと GPS モードの両方で動作します。最初の修正は地理位置情報モードで計算され、その後の修正はスタンドアロン モードで計算されます。ただし、スタンドアロン モードが失敗した場合、特定の待機期間が経過した後、スタンドアロン モードで再試行が試行されるまで、一時的に Geolocation モードにフォールバックします。を参照してください
setRetryFactor(int)
。へのシングル フィックス コールの
getLocation(int)
場合、Geolocation モードが最初に使用され、Geolocation モードが失敗した場合はスタンドアロン モードにフォールバックします。
ベラルーシにいるようですが、クライアントやユーザーがどこにいるかわかりません。彼らが米国にいる場合、あなたのアプリが Verizon ネットワークをサポートするならば、ジオロケーションのためにNav Builder Insideのようなものを検討する必要があるかもしれません.
とにかく、これはおそらくあなたが望んでいた答えではないことはわかっていますが、それは最初の一歩でしょうか?