我目前正在实施GoogleMapsV2并尝试移植我在MapsV1中使用的旧功能。在V1中,我能够继承OverlayItem
并保存我放入的图标。现在我必须基于模型对象创建MarkerOption
,将其添加到GoogleMap
以获得标记。
因为Marker类是最终的,并且GoogleMaps没有提供一个方法来处理它(比如SQLiteCursorFactory
),我觉得无法将图标放回去。
如果我保留MarkerOptions
对象,我可以找回BitmapDescriptor
,其中只有一个(混淆)方法aW()
返回b
个对象。
我非常不确定Bitmap必须位于此对象内部,因为它是在GoogleMap
上绘制的。从标记中取回它的最佳方法是什么?
我正在HashMap<Marker, ModelObj>
内创建时将Marker映射到我的模型,但是从那里我每次想要访问它时都必须重新创建图标。这感觉完全错了,我想知道是否有更好的方法来访问它。
答案 0 :(得分:3)
我非常不确定Bitmap必须位于此对象内部,因为它是在GoogleMap上绘制的。
这远非确定。地图由另一个进程呈现。因此,虽然Bitmap
位于 进程中,但它可能不属于您。
从标记中取回它的最佳方法是什么?
你没有。那是一个只写的API。
我正在HashMap中创建时将Marker映射到我的模型,但是从那里我每次想要访问它时都必须重新创建图标。
然后自己缓存。如今,Marker
有getId()
,这可能比使用Marker
本身更好。但是要么将图标塞进ModelObj
或者有一个单独的位图缓存。如果CPU与RAM的权衡需要缓存或重新生成图标,则必须自行确定。