谷歌地图在安卓设备上的标记闪烁

3
2个回答

2

从 API 的角度来看,这是不可能的,但可能会有一个解决方法,我不确定它是否有效,但从理论上讲,它必须有效。

创建一个线程,在你绘制标记的代码中,每间隔 1 秒重新绘制标记并交替更改图像,比如先使用红色图像再使用绿色等等。

//---add the marker---
Bitmap bmp = BitmapFactory.decodeResource(
getResources(), R.drawable.pushpin);            
canvas.drawBitmap(bmp, screenPts.x, screenPts.y-50, null);  

1

目前还没有办法做到。已经提交了一个功能请求,请投票支持: http://code.google.com/p/gmaps-api-issues/issues/detail?id=4768&thanks=4768&ts=1357300845

我尝试了一些变通方法,但它们都很糟糕:

  1. 您可以尝试使用GroundOverlays并玩转setTransparency()。这个方法可以实现,但是覆盖物会随着地图的缩放和旋转而缩放和旋转(正如它们应该),而通常您不希望标记也这样。
  2. 您可以添加和删除具有不同透明度的标记。然而,这是一个可怕的解决方案,因为创建大量标记会消耗大量内存,并且速度也相当慢。
  3. 您可以尝试在地图视图上绘制叠加视图,捕获触摸事件并将视图与地图一起移动。这种解决方案的问题在于它不够平滑,标记和地图会多次“独立”移动。

总之,目前真的不可能实现,我也找不到好的解决方法。请投票支持上面的问题,希望我们能得到快速修复。 :)

我已经为闪烁标记创建了一种解决方法,您可以在地图团队修复该问题之前使用它: https://github.com/balazsbalazs/blinking-marker-mapsv2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接