【发布时间】:2014-07-16 14:48:00
【问题描述】:
我有一个MapView(由 Google Maps Android API v2 提供),我想要实现的目标应该足够简单,即绘制一个弯曲的Polyline。
具体来说,我有一个LatLngs 数组,而不是让它们以锐角连接,我想让路线很好地四舍五入,以便通过点的线遵循曲线而不是直线和锐角。
现在,这曾经可以在旧的 Google Maps API 中通过创建自定义 Overlay,覆盖 draw(),然后手动绘制到地图上(例如,使用自定义 Paint 和 Path 与所需的设置)。
不幸的是,在 v2 中,Google 似乎删除了 Overlay 类并转移到不再提供对 draw() 方法的访问的更高级别的抽象。 PolylineOptions 相当基础,不提供任何绘制曲线的选项。
有没有办法覆盖draw() 或使用Google Maps API v2 的其他功能来绘制弯曲的Polyline?
已经有一些关于 SO 的问题涵盖了这个问题,但是还没有真正令人满意的答案:
Custom Overlays in Google Maps API v2
Overrinding draw() in customized MapView in Google Maps Android API v2
我确定必须有一种方法可以在 Google Maps v2 上进行自定义绘图,同时创建自定义叠加层View 并在坐标与地图同步后在其上绘图是一种选择,在处理缩放和平移地图时会很快变得非常复杂,所以我想尽可能避免。
【问题讨论】:
标签: android google-maps google-maps-android-api-2