问题标签 [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 投票
1 回答
1952 浏览

iphone - 如何从 iphone 指南针获取分钟和秒数?

我有一个使用 de iPhone 指南针的应用程序。我使用 CLLocationDirection 磁头值。它仅以 234.543 等度数给出,例如,当我转动 iPhone 时,它​​会变为235 .543 236 .543 237 .543 238 .543 等等。点值 ( .543 ) 不会改变。我想获得比度数更高的精度,我的意思是,当我转动 iPhone 或获得分钟/秒值时,我希望点值( .543 )也发生变化。任何人都知道我怎样才能在这个值上有更高的精度?谢谢!

0 投票
1 回答
1811 浏览

ios - 如何在 iOS 网络应用中找到指南针方向?

有谁知道如何从网络应用程序中找到 iOS 设备的指南针方向?iOS 4.2 中支持的新设备方向 API 似乎只提供了旋转的相对变化。有人能找到解决方法吗?(使用 时,我还获得了该属性的null值。)coords.headingnavigator.geolocation

0 投票
3 回答
1260 浏览

iphone - 显示指向特定位置的箭头

有谁知道如何根据我当前的标题放置一个指向特定注释的箭头。例如; 当当前标题与注释的坐标相同时,我希望箭头是垂直的。我通过贝宝向为我做这件事的人提供 50 美元 看看下面的图片;

替代文字

.

0 投票
1 回答
409 浏览

android - 在 Android 中定位自定义地图

我需要使用博物馆的地图和 Android 的指南针制作一个应用程序来在博物馆中导航。该应用程序应帮助用户前往地图上的一些预设位置。可能吗?地图的格式应该是什么?

谢谢

七月

0 投票
4 回答
46563 浏览

android - Android 手机方向概览,包括指南针

一段时间以来,我一直试图了解 Android 方向传感器。我以为我明白了。然后我意识到我没有。现在我想(希望)我再次对它有更好的感觉,但我仍然不是 100%。我将尝试解释我对它的不完整的理解,如果我在部分错误或填写任何空白处,希望人们能够纠正我。

我想我站在经度 0 度(本初子午线)和纬度 0 度(赤道)。这个位置实际上是在非洲海岸附近的海域,但请耐心等待。我把手机放在脸前,让手机底部指向我的脚;我面向北方(朝向格林威治),因此电话的右侧指向东方,指向非洲。在这个方向(参考下图)我有 X 轴指向东方,Z 轴指向南方,Y 轴指向天空。

现在,手机上的传感器允许您在这种情况下计算出设备的方向(而不是位置)。这部分一直让我感到困惑,可能是因为在我接受它确实有效之前,我想了解它是如何工作的。手机似乎使用两种不同技术的组合来确定其方向。

在我开始之前,想象一下你站在那块假想的 0 度纬度和经度的土地上,站在上面提到的方向。还想象一下,你被蒙上眼睛,你的鞋子被固定在操场上的环形交叉路口。如果有人从背后推你,你会向前(朝北)摔倒并伸出双手来阻止摔倒。同样,如果有人推你的左肩,你会用右手摔倒。您的内耳有“重力传感器” (youtube 剪辑),可让您检测您是向前/向后跌倒,还是向左/向右跌倒或跌倒(或向上!!)。因此,人类可以检测到与手机相同的 X 轴和 Z 轴周围的对齐和旋转。

现在想象有人现在在环形交叉路口将你旋转 90 度,这样你现在面向东方。您正在绕 Y 轴旋转。这个轴是不同的,因为我们无法从生物学上检测到它。我们知道我们有一定的角度,但我们不知道相对于地球磁北极的方向。相反,我们需要使用外部工具……磁罗盘。这使我们能够确定我们所面对的方向。我们的手机也是如此。

现在这款手机还配备了一个 3 轴加速度计。我没有了解它们实际上是如何工作的,但我想象它的方式是将重力想象为从天而降的恒定且均匀的“雨”,并将上图中的轴想象为可以检测流过的雨水量的管子。当手机直立时,所有的雨水都会流过 Y '管'。如果手机逐渐旋转,使其屏幕面向天空,流过 Y 的雨量将减少到零,而流过 Z 的音量将稳步增加,直到流过的雨量达到最大。同样,如果我们现在将手机倾斜到一侧,X 管最终将收集到最大量的雨水。因此,根据手机的方向,通过测量流过 3 个管子的雨水量,您可以计算出方向。

这款手机还有一个电子罗盘,其行为类似于普通罗盘——它的“虚拟指针”指向磁北。Android 会合并来自这两个传感器的信息,因此每当生成a SensorEventof时,数组都有 值 [0]:方位角 - (磁北以东的罗盘方位) 值 [1]:俯仰,绕 x 轴旋转(是手机向前或向后倾斜) 值[2]:滚动,围绕 y 轴旋转(手机是向左侧还是右侧倾斜)TYPE_ORIENTATIONvalues[3]


所以我认为(即我不知道)Android 给出方位角(罗盘方位)而不是第三个加速度计读数的原因是罗盘方位更有用。我不确定他们为什么不推荐使用这种类型的传感器,因为现在看来您需要为SensorEvents 类型的系统注册一个侦听器TYPE_MAGNETIC_FIELD。事件的value[]数组需要传递到SensorManger.getRotationMatrix(..)方法中以获取旋转矩阵(见下文),然后将其传递到SensorManager.getOrientation(..)方法中。有谁知道为什么Android团队不推荐使用Sensor.TYPE_ORIENTATION?是效率问题吗?这就是对类似问题的评论之一所暗示的内容,但您仍然需要在development/samples/Compass/src/com/example/android/compass/CompassActivity.java示例。

我现在想谈谈旋转矩阵。(这是我最不确定的地方)所以上面我们有来自 Android 文档的三个数字,我们将它们称为 A、B 和 C。

A = SensorManger.getRotationMatrix(..) 方法图,代表世界坐标系

B = SensorEvent API 使用的坐标系。

C= SensorManager.getOrientation(..) 方法图

所以我的理解是,A 代表“世界坐标系”,我认为它是指地球上的位置以(纬度,经度)和可选(高度)的形式给出的方式。X 是“东”坐标,Y 是“北”坐标。Z 指向天空,代表高度。

手机坐标系如图B所示是固定的。它的 Y 轴总是指向顶部。手机不断计算旋转矩阵,并允许两者之间的映射。那么我认为旋转矩阵将 B 的坐标系转换为 C 的想法是否正确?因此,当您调用SensorManager.getOrientation(..)方法时,您使用的values[]数组的值对应于图 C。当手机指向天空时,旋转矩阵是单位矩阵(矩阵数学等价于 1),这意味着在设备对齐时不需要映射与世界坐标系。

行。我想我现在最好停下来。就像我之前说的那样,我希望人们会告诉我我在哪里搞砸了或帮助了人们(或者让人们更加困惑!)

0 投票
1 回答
282 浏览

ios4 - Iphone4 和 GPS 替代品

如果 GPS 在房间等封闭环境中无法精确工作,我很想知道加速度计是否可以用来找到物体相对于某个点的位置?如果不是,那么 iphone4 提供了哪些其他技术来满足它?

谢谢

0 投票
5 回答
5450 浏览

c# - 获取两个标题之间的差异

我有这种方法可以找出 2 0-360 罗盘方向之间的差异。

尽管这可以确定我离我有多远(如始终为正输出),但我无法确定需要做什么才能将符号引入输出。

理想情况下,如果从初始航向到最终航向的最短距离是顺时针方向,我希望error有一个正号,如果航向之间的最短距离涉及逆时针方向,我希望error有一个负号。

所需输入/输出的一些示例

initial-- final--error

0 .................... 30 .... 30

30 .................... 0 .... -30

360 ……………………………………1

1 .................... 360 .... -1

代码:

0 投票
2 回答
1249 浏览

android - 如何显示风向?

我想创建某种图形箭头,或者可能在指南针上绘制一个箭头,以向用户显示风的方向。鉴于个人手机的方向,这显然会改变。

我的应用程序可以告诉我风向来自哪个方向(以度为单位)。我的问题是,实现这样的事情的最佳方法是什么?

谢谢

0 投票
1 回答
10269 浏览

iphone - 使用指南针指向位置

我正在尝试为在地图上有一组注释的应用程序开发指南针。我希望能够选择一个注释,然后让指南针将用户指向所选位置。

我已经计算了从用户位置到注释位置的距离,我得到了 iPhone 的磁航向和真实航向。我也知道如何旋转图像。但我不知道下一步是什么。

用户位置和注释位置之间的度数计算如下:

真航向和磁航向检索如下:

谁能告诉我我现在应该怎么做才能使箭头指向该位置 - 即使 iPhone 旋转了?

0 投票
1 回答
919 浏览

iphone - CLLocation 标头始终为 -1

嘿伙计们,我正在尝试构建一个应用程序,该应用程序将使用指南针指向预定位置的方向,但现在我正在尝试了解如何制作基本指南针。我遵循了一个指南,但是我总是得到“-1”作为标题,并且只让它工作了一次,从那以后我就没有更改过代码。任何想法都会有所帮助。

和实现文件...