问题标签 [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/π 然后加上 360 例如 -(CLLocationDirection)directionToLocationCLLocation *)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 Hero 上。

关于导致这种滞后的原因或如何解决它的任何想法?其他手机型号也会出现这种情况吗?

所有想法和/或理论都会有所帮助!

0 投票
4 回答
15274 浏览

iphone - 使用 iPhone 4 上的陀螺仪补偿指南针滞后

我一直在用 iPhone 4 上的指南针和陀螺仪进行试验,并希望对我遇到的问题有所帮助。我想通过使用来自陀螺仪的数据来补偿罗盘的缓慢。

使用CMMotionManager和它的CMDeviceMotion对象(motionManager.deviceMotion),我得到了CMAttitude对象。如果我错了(请)纠正我,但这是我从CMAttitude对象的yaw属性中推断出来的(我不需要,也不需要pitchroll

  • yaw范围从0PI手机指向下方(如 所示deviceMotion.gravity.z)并逆时针摆动0到 到-PI顺时针摆动
  • 当设备指向上方时,yaw范围分别为-PIto0PIto0
  • 从罗盘数据(我正在使用locationManager.heading.magneticHeading),我看到罗盘给出的值从0360,顺时针摆动时值增加

好的,所以将所有这些信息结合在一起,我可以得到一个我称之为的值horizontal,无论设备是向上还是向下,都会在设备顺时针摆动时给出从0to和增加的值(尽管我360我仍然遇到麻烦-价值deviceManager.gravity.z在这个价值上吓坏了)。0yawgravity.z

在我看来,我可以使用映射到的计算值“同步”horizontal和值,并在我感觉指南针“赶上”时“同步”该值。magneticHeadinghorizontalmagneticHeadinghorizontalmagneticHeading

所以我的问题:

  • 我在正确的轨道上吗?
  • CMDeviceMotion是否正确使用了陀螺仪数据并且我上面列出的假设是否正确?
  • 为什么在附近yaw时会吓坏?gravity.z0

非常感谢。我期待听到你的回答!

0 投票
11 回答
130178 浏览

android - 在Android中计算指南针方位/航向

我想在谷歌地图视图上的我的位置显示一个箭头,显示我相对于目的地位置(而不是北方)的方向。

a)我使用磁力计和加速度计的传感器值计算了北。我知道这是正确的,因为它与 Google 地图视图中使用的指南针一致。

b) 我使用 myLocation.bearingTo(destLocation) 计算了从我所在位置到目标位置的初始方位;

我错过了最后一步;从这两个值(a 和 b)中,我使用什么公式来获取手机相对于目标位置指向的方向?

感谢任何对头脑混乱的帮助!

0 投票
1 回答
797 浏览

iphone - iPhone三角函数处理方向

我正在尝试编写增强现实应用程序。我正在使用指南针、陀螺仪和 GPS 坐标来创建叠加层。一切都很好,除了用户离开纵向模式时。应该只是一个我无法弄清楚的简单触发问题。

为了确定坐标是否在视野中,我使用了在程序开始时计算的 iPhone 中心点的方位角和倾角值。方位角定义为手机朝上时的左右移动,倾斜度定义为手机朝上时的上下移动。然后,我在更新时使用陀螺仪和指南针数据更新此值。因此,如果我正确更新中心点的倾角和方位角,一切都应该正常。

问题在于,当 iPhone 旋转时,其方位角和倾角的定义相对于手机保持不变。所以倾斜度仍然被定义为直到手机的顶部,即使手机是横向的。

我尝试的是做这样的事情:

其中 degToRad(x) 将度数转换为弧度,cosZ 和 sinZ 分别是陀螺仪 z 角的 cos 和 sin,angleX 和 angleY 是陀螺仪的 x 和 y 角。陀螺仪的 X 角度测量上下角度,Y 角度测量左右角度,Z 角度测量手机从纵向到横向的旋转。

似乎没有工作。当我将手机旋转到一边时,倾斜度急剧上升。有大佬可以帮忙吗?

我应该补充一点,当只考虑纵向时,我使用:方位角 = degToRad(angleX) 和倾角 = degToRad(angleY)。这适用于纵向。我应该只需要乘以某个因素来解释不同的角度。

0 投票
3 回答
1120 浏览

android - Android:指南针太不精确?

我有一个应用程序,我想在其中访问磁力计。我从我的应用程序中获得了结果,但与 g1 指南针应用程序的方向结果相比,我的应用程序与指南针应用程序获得了完全不同的结果。例如:我的应用程序是 250°,指南针应用程序是 90°!那不可能,这是我的代码。有什么不同可以成为更好的结果吗?

我像这样访问 Sensormanager:

任何人都可以帮忙,pleeease?!:)

谢谢

0 投票
1 回答
2151 浏览

iphone - iphone指南针根据方向旋转

嗨,我希望在解决一个问题时指出正确的方向,即当 iphone 的方向发生变化/更改时,需要对 didUpdateHeading:newHeading 执行哪些转换以使 CLHeading.trueHeading 的值旋转以始终充当如果手机处于 CLDeviceOrientationLandscapeRight 的方向。

谢谢

0 投票
1 回答
604 浏览

iphone - iphone 4 指南针和地图

如何使用 iphone 4 在谷歌地图上使用基于方向的指南针,就像 MAPS 应用程序所做的那样

有什么教程可以参考吗??

谢谢

0 投票
5 回答
12816 浏览

android - Android指南针方向不可靠(低通滤波器)

我正在创建一个应用程序,我需要根据设备的方向定位 ImageView。我使用来自磁场和加速度传感器的值来计算设备方向

我的问题是 ImageView 的定位对方向的变化非常敏感。使图像视图不断在屏幕上跳跃。(因为度数变化)

我读到这可能是因为我的设备靠近会影响磁场读数的东西。但这似乎并不是唯一的原因。

我尝试下载一些应用程序,发现“ 3D 指南针”和“指南针”的读数非常稳定(设置噪声过滤器时),我希望在我的应用程序中具有相同的行为。

我读到我可以通过添加“低通滤波器”来调整读数的“噪音”,但我不知道如何实现这一点(因为我缺乏数学)。

我希望有人可以帮助我在我的设备上创建一个更稳定的读数,设备的一点移动不会影响当前的方向。现在我做一个小

过滤掉一点噪音。但它不是很好用:)