在谷歌地图上显示在线对象

Posted

技术标签:

【中文标题】在谷歌地图上显示在线对象【英文标题】:display online object on google map 【发布时间】:2013-10-22 11:45:07 【问题描述】:

我是 android 开发新手,非常需要帮助。

我正在为出租车招呼开发谷歌地图应用程序。 我开发了原型,说明它将如何使用点对点技术。

我的挑战:

我可以在地图上显示用户和出租车司机的位置。但我不知道当用户启动他的应用程序时如何在地图上显示出租车位置。 我读了很多文章,但没有结果。

因为我没有什么想法可以在服务器上为应用程序创建一个虚拟池,并从出租车位置获取纬度和经度并存储在虚拟池中,从他们的获取位置并在用户的应用程序上显示。但不知道它是否有效。

谁能帮我在谷歌地图上在线显示出租车位置。

【问题讨论】:

您的问题是什么?如果您知道出租车的位置并且建立了 P2P 连接,那么您可以简单地发送任何位置更改并将位置作为标记放在地图上 您好,想法是开发出租车应用程序。我为用户开发了应用程序,我可以在其中找到用户的位置。现在我不知道如何在谷歌地图上显示区域内的所有出租车。我正处于驱动程序应用程序的开发阶段。我计划将 WCF 服务用于连接管理器。对开发地图应用程序有很大帮助。 【参考方案1】:
    要向用户显示当前位置,只需在您的 GoogleMap 对象上设置 MyLocationEnabled(true) 要获取用户当前位置,请参阅我的回答:Location servise GPS Force closed 我对存储出租车位置的建议是使用parse.com 作为服务器端。同样,在出租车上(假设您在那里有设备)使用我的 GPSTracker 实现来更新 parse.com 上的位置。 现在,当用户打开您的应用时,让它每隔 5 秒轮询 parse.com 以获取出租车位置(仅在显示地图时)。

    为了只显示附近的出租车,您可以使用用户当前位置。

    如果出租车很少,最简单的方法是轮询所有位置并让用户设备选择附近的那些,请参阅我对Android Maps v2 - animate camera to include most markers 的回答。

    或者,您可以在用户位置周围画一个正方形。计算顶部 topleft=(lat_topleft, lon_topleft) 中的最左角和底部 botright=(lat_botright, lon_botright) 中的最右角。现在您可以进行类似的搜索,显示为用于演示的 SQL,使用 parse.com 时有点不同:

    从出租车中选择出租车位置 user_lat > topleft AND userlat

    因此只在用户周围绘制的框中轮询出租车。

这是我的看法,希望对你有所帮助。

【讨论】:

您好,感谢您的大力帮助。我将尝试使用所有步骤。我还检查了 AndroidHive 中的解决方案。我也在使用您的网站来检查一些代码。还有1个问题..我将如何在谷歌地图上显示出租车正在运行并在谷歌地图上向用户显示。感谢拉维的帮助。 我不确定。您绝对应该向服务器询问新位置,就像我写的那样每 5 秒一次。然后作为一个简单的解决方案,您可以清除地图并再次添加标记。更复杂的解决方案是考虑速度(在 GPSTracker 的 Location 对象中),并对标记进行动画处理以相应地在地图上移动,并在每次找到来自服务器的新位置时更正位置(在此如果您可能需要更快的池化以使其看起来不错)

以上是关于在谷歌地图上显示在线对象的主要内容,如果未能解决你的问题,请参考以下文章

如何在谷歌地图上显示圆圈?

如何在谷歌地图上显示多个信息窗口?

如何在谷歌地图上显示搜索地址。?

在谷歌地图标记上显示信息

在谷歌地图android上显示位置

如何通过对vue js中的每个搜索结果使用模态在谷歌地图上显示json数据获得的纬度和经度?