Google maps 谷歌地图位置以历史实时显示

Google maps 谷歌地图位置以历史实时显示,google-maps,google-geocoding-api,Google Maps,Google Geocoding Api,我对在我正在编写的程序中添加谷歌地图功能感兴趣。我会从一个历史GPS日志文件开始,其中包含我不断变化的GPS位置和日期/时间的记录-例如,当我沿着道路行驶时。稍后,我想将这个日志文件输入到一个windows程序中,该程序将GPS位置显示为屏幕窗口中显示的谷歌地图中心的标记。随着GPS位置的改变,谷歌地图将自动在历史上“实时”水平或垂直滚动,以便标记始终位于地图的中心 下面是一个现有程序的YouTube视频,它已经完全实现了我想要的功能,因此它必须是可能的(它是视频帧右下角的窗格) 实际上,用户

我对在我正在编写的程序中添加谷歌地图功能感兴趣。我会从一个历史GPS日志文件开始,其中包含我不断变化的GPS位置和日期/时间的记录-例如,当我沿着道路行驶时。稍后,我想将这个日志文件输入到一个windows程序中,该程序将GPS位置显示为屏幕窗口中显示的谷歌地图中心的标记。随着GPS位置的改变,谷歌地图将自动在历史上“实时”水平或垂直滚动,以便标记始终位于地图的中心

下面是一个现有程序的YouTube视频,它已经完全实现了我想要的功能,因此它必须是可能的(它是视频帧右下角的窗格)

实际上,用户将实时回放几天或几个月前记录的移动。它不会用于跟踪当前的动向

我对谷歌API还不太了解,但我认为谷歌地图必须在桌面程序中运行,而不是在网站上运行

是否有任何预先构建的模块已经做到了这一点(也许只是给它一个坐标和时间列表)

如果没有,我需要使用什么API来重现视频中显示的映射行为


在一个只有一个用户才能看到而不是在一个公开的网站上看到的桌面程序中执行此操作是否存在任何许可问题?

我使用谷歌地图API创建了一个嵌入式GPS窗口,就像您在链接中引用的一样,但基本上它是嵌入一个浏览器窗口,并将其链接到谷歌地图。您可以自己管理数据并将其传送到浏览器。这可以在本地完成

你需要做几件事

  • 定义映射脚本(使用html/Javascript文件)。这些脚本将允许您更新地图上显示的位置,并将其挂接到代码端进行控制

  • 在GUI中定义一个浏览器对象,并将其设置为导航到您创建的html文件,然后使用该对象的文档部分调用脚本

  • 一旦你这样做了,你应该能够控制GPS的位置。您的html文件中引用了Google Maps API。该html文件是关键,它需要具有所有您想要用于更新GPS位置并将其显示在地图上的功能


    根据预构建模块和/或许可证,我不知道。

    您可以在浏览器中执行此操作,桌面/windows要求是您自己的吗?您可以将数据转换为一个数组,然后在其中循环,移除并重新绘制标记,然后每次重新居中映射。这证实了我猜到的一些事情——尽管还有很多阅读要做!还有几个问题-那么您应该告诉浏览器对象何时更新地图,而不是浏览器每(比如)1秒自动刷新一次?每次浏览器对象需要更改时,如何将新坐标传递给浏览器对象?是否有套接字接口或类似的东西?更新函数将写入Javascript文件中。这取决于你想如何处理它。您可以通过让一些后台线程(对于C#我使用计时器)调用该函数来实现自动刷新功能,例如。。。myBrowser.Document.InvokeScript(“func_name”,object[]args)因此没有套接字接口或任何东西。InvokeScript函数允许您将对象数组作为参数传递给正在调用的函数。至于自动刷新,我决定不使用它,因为它非常容易出错,但这可能是因为我的刷新率太高(比如60赫兹)。1赫兹也许可以。