我正在为我的Windows Phone 7制作带有c#的应用程序。 我想用指南针向我展示朝拜方向(或我想要的方向)。 我该怎么做?我可以用lang和latitute从我的位置计算朝向方向的度数。(例如结果是北方以东150度)
然而,我无法为它绘制方向线。它显示北方,而不是我想要的方式。 所以现在我使用这段代码画线:
magneticLine.X2 = magneticLine.X1 - (200 * Math.Sin(MathHelper.ToRadians((float)compassReading.MagneticHeading)));
magneticLine.Y2 = magneticLine.Y1 - (200 * Math.Cos(MathHelper.ToRadians((float)compassReading.MagneticHeading)));
你可以帮我解决一下如何做到这一点。感谢。
答案 0 :(得分:1)
目前你构建它的方式只是使用屏幕中心作为原点,然后渲染一条总长度为200像素的线条。您需要在绘制线条之前调整/篡改学位读数(这就是为什么它没有指向正确的方向)。
此外,一旦你认为某些东西是正确的,使用Windows Phone模拟器在麦加的Kaaba周围绘制GPS点(即在Kaaba周围制作一个圆点,然后运行模拟)。这将允许您查看您的解决方案是否适用于360 *半径范围内的个人。
此外,这个关于增强现实的工具包可以帮助您,因为它可以根据您的GPS位置计算方向时为您做一些数学运算:http://gart.codeplex.com/
我希望这会有所帮助。如果您在上述阅读后仍然被卡住,我可以为您编写代码,以便您更好地理解。
最后,请注意这一点:http://www.jeffblankenburg.com/2011/11/04/31-days-of-mango-day-4-compass/
这是一篇关于如何使用工作源代码在本文底部下载指南针的教程。祝你好运!