Iphone 谷歌地图如何确定用户在地图上的位置?

Iphone 谷歌地图如何确定用户在地图上的位置?,iphone,ios,google-maps,maps,location,Iphone,Ios,Google Maps,Maps,Location,我想制作一个iPhone映射应用程序。我知道iPhone可以给出用户具体位置的详细经纬度坐标。谷歌地图和其他地图应用程序如何将用户的位置转换为地图上的位置?似乎有很多事情要考虑。例如,如果地图是旋转的,在我看来,它有很多缩放和东西要考虑。谷歌地图如何将用户的当前位置转换为地图上的特定点,并使其如此精确(在2到3米范围内)。我非常感谢您的回答或任何帮助。谢谢 谷歌地图应用程序知道: 谷歌地图服务将地图分为几块的方式 每个地图分幅的大小和位置(纬度/经度) 用户选择的缩放级别 设备屏幕的大小 设备

我想制作一个iPhone映射应用程序。我知道iPhone可以给出用户具体位置的详细经纬度坐标。谷歌地图和其他地图应用程序如何将用户的位置转换为地图上的位置?似乎有很多事情要考虑。例如,如果地图是旋转的,在我看来,它有很多缩放和东西要考虑。谷歌地图如何将用户的当前位置转换为地图上的特定点,并使其如此精确(在2到3米范围内)。我非常感谢您的回答或任何帮助。谢谢

谷歌地图应用程序知道:

  • 谷歌地图服务将地图分为几块的方式
  • 每个地图分幅的大小和位置(纬度/经度)
  • 用户选择的缩放级别
  • 设备屏幕的大小
  • 设备报告的位置纬度和经度

使用这些信息,地图应用程序可以做一些简单的线性运算,以找出哪些块需要显示在屏幕上,以便用户的位置显示在屏幕中间(或在任何需要的地方)。.

谷歌地图使用几种不同的方法来获取用户的位置,包括用户连接到的移动网络塔的位置(有时谷歌使用2个或更多塔的三角测量来更精确),如果用户连接到WiFi和GPS,则ISP的位置

最精确的是GPS,它为谷歌提供了精确到10米以内(如果我没记错的话)的纬度和经度坐标。谷歌地图系统中的所有图像都存储有GPS坐标,因此谷歌所要做的就是检索正确的地图图像,并在图像上绘制用户的位置

我想这就是你想要的,但是如果你需要更多的细节,或者如果我误解了,请留下评论,我会修改这个答案

编辑

请看这个页面,它很好地介绍了在iPhone上使用谷歌地图

您不需要编写在地图上放置标记以显示用户位置的算法,只需在Google Maps API中调用一个函数/方法,它就能为您完成所有工作。我建议您仔细阅读谷歌地图API文档,以找到您需要的内容(也可以在前面的链接中找到)

我想这可能正是您要查找的代码片段:

在确定位置时,你的航向/旋转是不相关的。您的位置基于从GPS卫星接收的数据。有多颗卫星,根据你离每颗卫星的距离,你的位置会缩小到一个点。这个点有一对非常详细的坐标(想想小数点后10位)。谷歌提供的地图上的每个点都与一对坐标关联。因此,当你的手机计算出你的坐标后,它会检查它在地图上对应的位置,并将你放在地图上。所有其他位置也基于坐标

现在,地图也有一个设置,地图根据你的方向旋转。该功能使用手机内置的指南针。我相信,自3GS问世以来,iPhone就有了内置指南针


简而言之,把谷歌提供的地图想象成谷歌提供的巨大、超高分辨率图像,图像上的每个像素(或更少)对应一对坐标。确定坐标后,无论缩放级别如何,都会将图像放置在该图像上的对应点上

例如,谷歌地图如何获取用户的特定纬度和经度点,并将其转换为地图上的特定坐标点(即用户位置(-122.293283,32.192983)->地图上的点(5124))。差不多吧。谢谢这比我的答案更简洁,可能更切题。。。干得好,谢谢!我想知道的是谷歌如何在图像上描绘用户的位置。我怎样计算呢?在我想制作的应用程序中,我需要获取用户的GPS位置,并能够将其绘制在地图上。