Google Maps V2 android获取标记图标

时间:2013-11-19 15:38:10

标签: android bitmap google-maps-android-api-2 marker

我目前正在实施GoogleMapsV2并尝试移植我在MapsV1中使用的旧功能。在V1中,我能够继承OverlayItem并保存我放入的图标。现在我必须基于模型对象创建MarkerOption,将其添加到GoogleMap以获得标记。

因为Marker类是最终的,并且GoogleMaps没有提供一个方法来处理它(比如SQLiteCursorFactory),我觉得无法将图标放回去。

如果我保留MarkerOptions对象,我可以找回BitmapDescriptor,其中只有一个(混淆)方法aW()返回b个对象。

我非常不确定Bitmap必须位于此对象内部,因为它是在GoogleMap上绘制的。从标记中取回它的最佳方法是什么?

我正在HashMap<Marker, ModelObj>内创建时将Marker映射到我的模型,但是从那里我每次想要访问它时都必须重新创建图标。这感觉完全错了,我想知道是否有更好的方法来访问它。

1 个答案:

答案 0 :(得分:3)

  

我非常不确定Bitmap必须位于此对象内部,因为它是在GoogleMap上绘制的。

这远非确定。地图由另一个进程呈现。因此,虽然Bitmap位于 进程中,但它可能不属于您。

  

从标记中取回它的最佳方法是什么?

你没有。那是一个只写的API。

  

我正在HashMap中创建时将Marker映射到我的模型,但是从那里我每次想要访问它时都必须重新创建图标。

然后自己缓存。如今,MarkergetId(),这可能比使用Marker本身更好。但是要么将图标塞进ModelObj或者有一个单独的位图缓存。如果CPU与RAM的权衡需要缓存或重新生成图标,则必须自行确定。