将谷歌地图北转换为磁北

Posted

技术标签:

【中文标题】将谷歌地图北转换为磁北【英文标题】:Convert Google Maps north to Magnetic north 【发布时间】:2012-11-22 11:10:56 【问题描述】:

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

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

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

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

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

【问题讨论】:

【参考方案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 显示了近似的磁偏角值。

【讨论】:

好的,非常有趣的服务。只有一个问题,我可以将度数用作角度,将我在系统中找到的值加上 8.9°,还是我必须进行另一个转换步骤? 度数相同。指南针上有 360°,图像上有 360° 旋转。 磁偏角背景:ngdc.noaa.gov/geomag/declination.shtml

以上是关于将谷歌地图北转换为磁北的主要内容,如果未能解决你的问题,请参考以下文章

如何将谷歌地图的大小设置为不重叠BottomNavigationBar

将谷歌地图中心放在kml上,而不是位置

将谷歌地图放在数据库的中心?

如何将谷歌地图位置添加到我的网站

如何将谷歌地图添加到android

无法将谷歌静态地图加载到jquery mobile中的div中