谷歌地图定制交通图层

7

我一直在努力在我的应用程序中显示谷歌地图的交通路况层,经过我的研究,我知道只需要设置相应的代码即可显示。

        mapView.setTraffic(true);

然而,我无法使其出现在我的MapActivity中。

经过一些研究,我发现Google Maps API不支持我的地区(巴西圣保罗)的交通图层,至少不能通过使用他们的API来实现,因为如果我使用Google Maps本身,可以检查我的地区的交通图层。

我的主要问题是:是否可以创建某种自定义交通图层,使用自己的数据库来显示Google Maps上的交通状况?如何根据道路的交通状态绘制街道?我认为叠加层不足以完成这项工作。

有什么想法吗?

编辑1:仍在研究中,也许唯一的方法是尝试将地图最小化,使用自定义叠加层,并提供标签来解释每个叠加层?


我也一直在寻找这个 :( - diogocarmo
1个回答

3

我希望我能发表评论而不是回答,但我还没有这个权限。

我猜测谷歌和为圣保罗市提供交通数据的公司之间的许可协议不允许第三方(即使用Maps API的开发人员)使用。这是我想到的唯一合理的解释,为什么在Google 地图 São Paulo 版上有交通数据,但是在 Google Maps V3 API 上的 交通图层示例中没有。

所以我认为你提到的唯一选择就是自己拥有交通数据的数据库,你可以创建自己的 Overlay 子类,覆盖 draw 方法来覆盖街道。你需要使用 MapView.getProjection() 来获取 Projection 对象,这样你就可以将坐标映射到 MapView 上的像素,以绘制交通指示器。

我希望我在某种程度上有所帮助。


太棒了!根据我的研究,你可能是对的。我们已经知道,在地图应用领域有一家知名公司实际上为谷歌提供交通信息,因此他们之间必须有排他性协议 :/ 不知道getProjection()是如何工作的,我要试试!谢谢!PS:我会将你的答案标记为正确答案,因为我相信这是关于这个问题最接近的答案 @_@ - thiagocfb
这个答案看起来很合理。我在 Google 地图上看到了一些位置,既有交通数据,又有 Maps v3 API 上的交通图层。我注意到这一点是在波哥大、利马和巴拿马运河附近,而在南美洲其他地方都没有。也许 Google 目前只与那些地区的交通数据提供商签订了许可协议? - Ellie Kesselman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接