问题标签 [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.
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);我设置了一个箭头,想让箭头旋转。但结果不对。而且它不使用当前标题。我认为它必须使用当前标题与结果相结合来旋转箭头。
所以任何人都可以给我一些解决方案。
iphone - iPhone 指南针 GPS 方向
我正在尝试开发一个使用 iPhone 的 GPS 和指南针的应用程序,以便将某种指针指向特定位置(如指南针总是指向北方)。该位置是固定的,无论用户位于何处,我总是需要指针指向该特定位置。我有这个位置的纬度/经度坐标,但不知道如何使用指南针和 GPS 指向那个位置......就像http://www.youtube.com/watch?v=iC0Xn8hY80w这个链接 1: 20'
我写了一些代码,但是,它不能正确旋转。
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 上。
关于导致这种滞后的原因或如何解决它的任何想法?其他手机型号也会出现这种情况吗?
所有想法和/或理论都会有所帮助!
iphone - 使用 iPhone 4 上的陀螺仪补偿指南针滞后
我一直在用 iPhone 4 上的指南针和陀螺仪进行试验,并希望对我遇到的问题有所帮助。我想通过使用来自陀螺仪的数据来补偿罗盘的缓慢。
使用CMMotionManager
和它的CMDeviceMotion
对象(motionManager.deviceMotion
),我得到了CMAttitude
对象。如果我错了(请)纠正我,但这是我从CMAttitude
对象的yaw
属性中推断出来的(我不需要,也不需要pitch
)roll
:
yaw
范围从0
到PI
手机指向下方(如 所示deviceMotion.gravity.z
)并逆时针摆动0
到 到-PI
顺时针摆动- 当设备指向上方时,
yaw
范围分别为-PI
to0
和PI
to0
- 从罗盘数据(我正在使用
locationManager.heading.magneticHeading
),我看到罗盘给出的值从0
到360
,顺时针摆动时值增加
好的,所以将所有这些信息结合在一起,我可以得到一个我称之为的值horizontal
,无论设备是向上还是向下,都会在设备顺时针摆动时给出从0
to和增加的值(尽管我360
我仍然遇到麻烦-价值deviceManager.gravity.z
在这个价值上吓坏了)。0
yaw
gravity.z
在我看来,我可以使用映射到的计算值“同步”horizontal
和值,并在我感觉指南针“赶上”时“同步”该值。magneticHeading
horizontal
magneticHeading
horizontal
magneticHeading
所以我的问题:
- 我在正确的轨道上吗?
- 我
CMDeviceMotion
是否正确使用了陀螺仪数据并且我上面列出的假设是否正确? - 为什么在附近
yaw
时会吓坏?gravity.z
0
非常感谢。我期待听到你的回答!
android - 在Android中计算指南针方位/航向
我想在谷歌地图视图上的我的位置显示一个箭头,显示我相对于目的地位置(而不是北方)的方向。
a)我使用磁力计和加速度计的传感器值计算了北。我知道这是正确的,因为它与 Google 地图视图中使用的指南针一致。
b) 我使用 myLocation.bearingTo(destLocation) 计算了从我所在位置到目标位置的初始方位;
我错过了最后一步;从这两个值(a 和 b)中,我使用什么公式来获取手机相对于目标位置指向的方向?
感谢任何对头脑混乱的帮助!
iphone - iPhone三角函数处理方向
我正在尝试编写增强现实应用程序。我正在使用指南针、陀螺仪和 GPS 坐标来创建叠加层。一切都很好,除了用户离开纵向模式时。应该只是一个我无法弄清楚的简单触发问题。
为了确定坐标是否在视野中,我使用了在程序开始时计算的 iPhone 中心点的方位角和倾角值。方位角定义为手机朝上时的左右移动,倾斜度定义为手机朝上时的上下移动。然后,我在更新时使用陀螺仪和指南针数据更新此值。因此,如果我正确更新中心点的倾角和方位角,一切都应该正常。
问题在于,当 iPhone 旋转时,其方位角和倾角的定义相对于手机保持不变。所以倾斜度仍然被定义为直到手机的顶部,即使手机是横向的。
我尝试的是做这样的事情:
其中 degToRad(x) 将度数转换为弧度,cosZ 和 sinZ 分别是陀螺仪 z 角的 cos 和 sin,angleX 和 angleY 是陀螺仪的 x 和 y 角。陀螺仪的 X 角度测量上下角度,Y 角度测量左右角度,Z 角度测量手机从纵向到横向的旋转。
似乎没有工作。当我将手机旋转到一边时,倾斜度急剧上升。有大佬可以帮忙吗?
我应该补充一点,当只考虑纵向时,我使用:方位角 = degToRad(angleX) 和倾角 = degToRad(angleY)。这适用于纵向。我应该只需要乘以某个因素来解释不同的角度。
android - Android:指南针太不精确?
我有一个应用程序,我想在其中访问磁力计。我从我的应用程序中获得了结果,但与 g1 指南针应用程序的方向结果相比,我的应用程序与指南针应用程序获得了完全不同的结果。例如:我的应用程序是 250°,指南针应用程序是 90°!那不可能,这是我的代码。有什么不同可以成为更好的结果吗?
我像这样访问 Sensormanager:
任何人都可以帮忙,pleeease?!:)
谢谢
iphone - iphone指南针根据方向旋转
嗨,我希望在解决一个问题时指出正确的方向,即当 iphone 的方向发生变化/更改时,需要对 didUpdateHeading:newHeading 执行哪些转换以使 CLHeading.trueHeading 的值旋转以始终充当如果手机处于 CLDeviceOrientationLandscapeRight 的方向。
谢谢
iphone - iphone 4 指南针和地图
如何使用 iphone 4 在谷歌地图上使用基于方向的指南针,就像 MAPS 应用程序所做的那样
有什么教程可以参考吗??
谢谢
android - Android指南针方向不可靠(低通滤波器)
我正在创建一个应用程序,我需要根据设备的方向定位 ImageView。我使用来自磁场和加速度传感器的值来计算设备方向
我的问题是 ImageView 的定位对方向的变化非常敏感。使图像视图不断在屏幕上跳跃。(因为度数变化)
我读到这可能是因为我的设备靠近会影响磁场读数的东西。但这似乎并不是唯一的原因。
我尝试下载一些应用程序,发现“ 3D 指南针”和“指南针”的读数非常稳定(设置噪声过滤器时),我希望在我的应用程序中具有相同的行为。
我读到我可以通过添加“低通滤波器”来调整读数的“噪音”,但我不知道如何实现这一点(因为我缺乏数学)。
我希望有人可以帮助我在我的设备上创建一个更稳定的读数,设备的一点移动不会影响当前的方向。现在我做一个小
过滤掉一点噪音。但它不是很好用:)