gsy*_*sko 9 android google-maps google-maps-android-api-2
在原始版本的Android Google Maps API中,使用以下代码实现叠加层非常简单:
List<Overlay> mapOverlays = mapView.getOverlays();
AlarmOverlay alarmOverlay = new AlarmOverlay();
mapOverlays.add(alarmOverlay);
Run Code Online (Sandbox Code Playgroud)
...然后可以覆盖叠加draw()方法并绘制矢量图形,覆盖onTouchEvent()方法的叠加并提供自定义控件等.
我不知道如何在v2中构建类似的自定义控件,因为API参考中没有提到叠加的用例(并且标记和多边形是不够的).有没有人有建议的方式在v2中实现?
如果您需要将自己的图像放置在地球表面上,请使用 GroundOverlay。addGroundOverlay方法添加这样的图像。它需要GroundOverlayOptions来指定图像大小和位置(从长远来看),还有BitmapDescriptor,除其他选项外,还可以使用普通位图作为图像源。因此,您可以创建一个新的位图,围绕该位图创建画布并在那里绘制。
如果您需要绘制非常复杂的东西,而多边形和标记还不够的话,这似乎是一个好方法。此外,在 Canvas 上绘制的旧代码可能可以重用。
我还没有做足够的测试,在我们更新位图后,地图多久会更新。在最坏的情况下,也许需要移除地面覆盖层并添加新的地面覆盖层。位图本身可能仍然可以重用。
将附加组件放在顶部可能会出现问题,因为它必须支持缩放、移动,而且地图现在甚至是 3D。
| 归档时间: |
|
| 查看次数: |
2950 次 |
| 最近记录: |