1

我正在构建一个连接到 android 应用程序的 Django 站点。android 部分是一个导航器,该站点允许使用图像构建您自己的地图。

在这些地图的构建过程中,用户可以通过在谷歌地图实例上旋转地图图像来设置方位。

我正在使用 css 旋转图像,所以 0° 是图像“原样”,而 360° 是图像倒置:所以北方是“向上”。

android应用程序不会使用gps系统,所以我必须在磁场上中继以显示地图随着用户的移动而旋转(为了检测用户的移动我有另一种方法,但这不是问题所必需的),我在此页面上发现磁北不是谷歌地图中显示的,我必须对这些值进行一些更正,但我不知道如何。

有人可以帮我将图像的旋转度数转换为北磁度数吗?

4

1 回答 1

1

听起来您正在寻找磁偏角值。首先,您需要获取您的位置。由于您没有 GPS,您将使用 NETWORK_PROVIDER 位置;这将足够接近以获得您的磁偏角值。

要找出旋转图像的距离和方向,您应该使用类似NOAA 的这个 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°

作为参考,这里是一张显示近似磁偏角值的地图。

于 2012-11-29T18:16:05.823 回答