問題タブ [compass-geolocation]

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.

0 投票する
0 に答える
485 参照

iphone - iPhone コンパス GPS 方向

重複の可能性:
iPhone コンパス GPS 方向

こんにちは、iPhone の GPS とコンパスを使用して、ある種のポインターを特定の場所に向けるアプリケーションを開発しようとしています (コンパスが常に北を指すように)。場所は固定されており、ユーザーがどこにいても、その特定の場所を指すポインターが常に必要です。私はこの場所の緯度/経度座標を持っていますが、コンパスと GPS を使用してその場所を指す方法がわかりません... http://www.youtube.com/watch?v=iC0Xn8hY80wこのリンク 1 のように: 20' 私はすでにいくつかの手続き見出しを知っています = atan2( sin(lon2-lon1)*cos(lat2), cos(lat1)*sin(lat2) - sin(lat1)*cos(lat2)*cos(lon2-lon1) ) 次に 180/π を掛けてから、-(CLLocationDirection)directionToLocationCLLocati on *)location {

CLLocationCoordinate2D coord1 = self.coordinate; CLLocationCoordinate2D coord2 = location.coordinate;

CLLocationDegrees deltaLong = coord2.longitude - coord1.longitude; CLLocationDegrees yComponent = sin(deltaLong) * cos(coord2.latitude); CLLocationDegrees xComponent = (cos(coord1.latitude) * sin(coord2.latitude)) - (sin(coord1.latitude) * cos(coord2.latitude) * cos(deltaLong));

CLLocationDegrees ラジアン = atan2(yComponent, xComponent); CLLocationDegrees 度 = RAD_TO_DEG(ラジアン) + 360;

fmod(度、360)を返します。矢印を設定し、矢印を回転させたい。しかし、結果は正しくありません。また、現在の見出しは使用しません。矢印を回転させるには、現在の見出しを結果と組み合わせて使用​​する必要があると思います。

誰でも私にいくつかの解決策を教えてください。

0 投票する
4 に答える
5173 参照

iphone - iPhone コンパス GPS 方向

iPhone の GPS とコンパスを使用して、ある種のポインターを特定の場所に向けるアプリケーションを開発しようとしています (コンパスが常に北を指すように)。場所は固定されており、ユーザーがどこにいても、その特定の場所を指すポインターが常に必要です。私はこの場所の緯度/経度座標を持っていますが、コンパスと GPS を使用してその場所を指す方法がわかりません... http://www.youtube.com/watch?v=iC0Xn8hY80wこのリンク 1 のように: 20'

私はいくつかのコードを書いていますが、正しい方向に回転することはできません。

0 投票する
1 に答える
915 参照

android - ラグの原因となる磁力計?

磁石を電話に近づけたり遠ざけたりすることで、相互作用に磁力計データを使用するアプリケーションを開発しています。これで問題なく (十分) 動作しますが、磁石を電話に近づけすぎると、顕著な遅延が発生し、これらのメッセージがログに吐き出されているようです。

Tag Message AK8973 HRET = AKSC_HOF_DSS_START AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_REQUEST AK8973 HRET = AKSC_HOF_DSS_COMPLETE

これは、たとえばマーケットで入手できるアプリ「Compass 3D」でも実証できます。ヘッドフォンを電話に直接接触させて動かすだけで十分です。少なくとも 4 ~ 500 ミリ秒の遅延が発生し、上記のメッセージが Logcat に出力されます。これは私のHTCヒーローにあります。

この遅延の原因、または回避方法についてのアイデアはありますか? これは他の電話モデルでも発生しますか?

すべてのアイデアや理論が役に立ちます!

0 投票する
4 に答える
15274 参照

iphone - iPhone4のジャイロスコープでコンパスの遅れを補正する

私はiPhone4でコンパスとジャイロスコープを試してきましたが、私が抱えている問題について助けを求めています。ジャイロスコープのデータを使って、コンパスの遅さを補いたいです。

CMMotionManagerとそのCMDeviceMotionオブジェクト( )を使用して、オブジェクトmotionManager.deviceMotionを取得しCMAttitudeます。私が間違っている場合は訂正してください(お願いします)が、CMAttitudeオブジェクトのyawプロパティから推測したものは次のとおりです(私は必要ありpitchませんrollし、私の目的のためでもありません):

  • yaw範囲は0PI電話が下を向いて(で示されているようにdeviceMotion.gravity.z)反時計回りに振っ0ている-PIときから時計回りに振っているときまでです。
  • デバイスが上を向いているときのyaw範囲は、それぞれ-PIから0PIまでです。0
  • そして、コンパスデータ(私が使用しているlocationManager.heading.magneticHeading)から、コンパスはから0まで360の値を与え、時計回りに振ると値が増加することがわかります

さて、この情報をすべて一緒に使用するとhorizontal、デバイスが上を向いているか下を向いているかに関係なく、デバイスを時計回りに振ると、からの値が得られ、値が増加するという値を取得できます(ただし0、が周りにある360ときはまだ問題があります-値はこの値で異常になります)。deviceManager.gravity.z0yawgravity.z

にマップする計算値を使用してhorizontalとの値を「同期」し、コンパスが「追いついた」と感じたときに値を「同期」できるように思えます。magneticHeadinghorizontalmagneticHeadinghorizontalmagneticHeading

だから私の質問:

  • 私はこれで正しい方向に進んでいますか?
  • 私はジャイロデータをCMDeviceMotion適切に使用しており、上記の仮定は正しいですか?
  • が周りにいるのになぜyawびっくりするのでしょうか?gravity.z0

どうもありがとうございます。お返事をお待ちしております!

0 投票する
11 に答える
130178 参照

android - Androidの位置へのコンパス方位/機首方位を計算します

グーグルマップビューの自分の場所に矢印を表示して、目的地の場所(北ではなく)を基準にした方向を表示したいと思います。

a)磁力計と加速度計のセンサー値を使用して北を計算しました。Googleマップビューで使用されているコンパスと一致しているので、これが正しいことはわかっています。

b)myLocation.bearingTo(destLocation);を使用して、現在地から目的地までの初期方位を計算しました。

最後のステップがありません。これらの2つの値(aとb)から、宛先の場所を基準にして電話が指している方向を取得するためにどの式を使用しますか?

心を落ち着かせるための助けに感謝します!

0 投票する
1 に答える
797 参照

iphone - 向きを扱うための iPhone 三角法

拡張現実アプリケーションを作成しようとしています。コンパス、ジャイロスコープ、GPS 座標を使用してオーバーレイを作成しています。ユーザーがポートレート モードを終了する場合を除いて、すべてがうまく機能しています。私が理解できない単純な三角問題でなければなりません。

座標が視野内にあるかどうかを判断するには、プログラムの開始時に計算された iPhone の中心点の方位角と傾斜角の値を使用します。方位角は、電話が上を向いているときの左右の動きとして定義され、傾斜は、電話が上を向いているときの上下の動きとして定義されます。次に、更新時にジャイロスコープとコンパスのデータでこの値を更新します。したがって、中心点の傾きと方位角を正しく更新すれば、すべてが機能するはずです。

問題は、iPhone を回転させたときに、その方位角と傾斜角の定義が電話に対して同じままであることです。そのため、電話が横向きであっても、傾斜は電話の上部までとして定義されます。

私が試したのは、次のようなことでした:

ここで、degToRad(x) は度からラジアンに変換されます。cosZ と sinZ はそれぞれジャイロスコープからの z 角度の cos と sin であり、angleX と angleY はジャイロスコープからの x と y の角度です。ジャイロスコープの X 角度は上下角度を測定し、Y 角度は左右を測定し、Z 角度は縦から横への電話の回転を測定します。

機能していないようです。電話を横に回転させると、傾斜が劇的に跳ね上がります。助けてくれる人はいますか?

通常、縦向きのみを考慮する場合は、次のように追加する必要があります。これは、縦向きで機能します。異なる角度を考慮して、これに何らかの係数を掛ける必要があります。

0 投票する
3 に答える
1120 参照

android - Android: コンパスが不正確すぎる?

磁力計にアクセスしたいアプリがあります。アプリケーションから結果を取得しますが、g1 のコンパス アプリからのオリエンテーション結果と比較すると、コンパス アプリとは完全に異なる結果が得られます。例: 私のアプリは 250° で、コンパス アプリは 90° です! それはできません。これが私のコードです。より良い結果になるために何か違いはありますか?

次のように Sensormanager にアクセスします。

誰か助けてくれませんか?! :)

ありがとうございました

0 投票する
1 に答える
2151 参照

iphone - 向きに基づいて回転するiPhoneコンパス

こんにちは、iPhone の向きが変化しているときに、didUpdateHeading:newHeading で実行する必要がある変換を変更するときに、CLHeading.trueHeading の値を回転させて常に電話が CLDeviceOrientationLandscapeRight の向きにあった場合。

ありがとう

0 投票する
1 に答える
604 参照

iphone - iphone4コンパスと地図

MAPSアプリが行うように、iphone4を使用してグーグルマップ上の方向に基づいてコンパスを使用する方法

参照するチュートリアルはありますか?

ありがとう

0 投票する
5 に答える
12816 参照

android - 信頼性の低いAndroidコンパスの向き(ローパスフィルター)

デバイスの向きに応じてImageViewを配置する必要があるアプリケーションを作成しています。磁場センサーと加速度センサーの値を使用して、デバイスの向きを計算します。

私の問題は、ImageViewの配置が向きの変化に非常に敏感であるということです。imageviewを常に画面上でジャンプさせます。(度が変わるため)

これは、私のデバイスが磁場の読み取りに影響を与える可能性のあるものに近いためである可能性があることを読みました。しかし、これが唯一の理由ではありません。

いくつかのアプリケーションをダウンロードしてみたところ、「3Dコンパス」と「コンパス」の読み取り値が非常に安定していることがわかりました(ノイズフィルターを設定した場合)。アプリケーションでも同じ動作をしたいと思います。

「ローパスフィルター」を追加することで、測定値の「ノイズ」を微調整できることを読みましたが、これを実装する方法がわかりません(数学が不足しているため)。

誰かが私のデバイスでより安定した読み取りを作成するのを手伝ってくれることを願っています。デバイスへの少しの動きが現在の向きに影響を与えることはありません。今、私は小さなことをします

ノイズのビットをフィルタリングします。しかし、それはあまりうまく機能していません:)