我正在构建一个连接到Android应用程序的Django站点。 android部分是一个导航器,该站点允许使用图像构建自己的地图。
在构建这些地图的过程中,用户可以通过在谷歌地图实例上旋转地图图像来设置方位。
我正在使用css来旋转图像,所以0°是图像“原样”,360°是图像颠倒:所以北方是“向上”。
Android应用程序将不会使用gps系统,因此我必须在磁场上继续显示用户移动的地图旋转(用于检测用户的移动我有另一种方法,但这不是问题所必需的) ,我在this page发现磁北不是谷歌地图中显示的,我必须对值进行一些修正,但我不知道如何。
有人可以帮助我将图像的旋转度转换为北磁度吗?
答案 0 :(得分:1)
听起来你正在寻找磁偏角值。首先,您需要获取您的位置。由于您没有GPS,因此您将使用NETWORK_PROVIDER位置;这将足够接近你的赤纬值。
要了解旋转图像的距离和方向,您应该使用NOAA的this API。
例如,如果您是@ 40.000,-105.250,则可以进行此API调用:
http://www.ngdc.noaa.gov/geomag-web/calculators/calculateDeclination?lat1=40&lon1=-105.25&resultFormat=xml
你会得到这个回报:
<?xml version="1.0"?>
<maggridresult>
<result>
<date> 2012.82514 </date>
<latitude> 40.00000 </latitude>
<longitude> -105.25000 </longitude>
<elevation units="km"> 0.00000 </elevation>
<declination> 8.90399 </declination>
<declination_sv> -8.01691 </declination_sv>
</result>
</maggridresult>
所以你要旋转你的地图8.90399°
作为参考,here is a map显示近似的磁偏角值。