在Android Google Maps API的v2中实现覆盖的build议方式是什么?

在Android Google Maps API的原始版本中,使用以下代码轻松实现覆盖:

List<Overlay> mapOverlays = mapView.getOverlays(); AlarmOverlay alarmOverlay = new AlarmOverlay(); mapOverlays.add(alarmOverlay); 

…然后可以重写覆盖draw()方法和绘制vectorgraphics,覆盖onTouchEvent()方法并给定制控件等。

我对如何在v2中构build类似的自定义控件感到不知所措,因为在API参考中没有提到覆盖用例(标记和多边形不够)。 有没有人有build议的方式在V2中实现?

Solutions Collecting From Web of "在Android Google Maps API的v2中实现覆盖的build议方式是什么?"

如果您需要将自己的图像放在地球表面,请使用GroundOverlay。 方法addGroundOverlay添加这样的图像。 它需要GroundOverlayOptions ,允许指定图像的大小和位置(以长期计算),还有BitmapDescriptor ,除了其他选项,可以使用普通的位图作为图像源。 所以你可以创build一个新的位图,围绕这个位图创buildCanvas并在那里绘制。

如果你需要绘制一些非常复杂的东西,看起来是一个很好的方法,因为多边形和标记是不够的。 此外,在Canvas上绘制的旧代码可能会被重用。

我没有做足够的testing,我们更新位图后,更新地图的时间会有多久。 在最坏的情况下,可能需要移除地面覆盖图,并添加新的地面覆盖图。 位图本身可能仍然可以被重用。

在顶部添加额外的组件可能是有问题的,因为它必须支持缩放,四处移动,现在地图甚至是3D。