根据状态正确更改标记图标?

时间:2011-01-06 22:21:38

标签: android google-maps

我可以使用以下代码根据状态(例如我的扩展OverlayItem类中的字段)绘制标记:

@Override
public Drawable getMarker(int pStateBitset)
{
  Drawable currentMarker = super.getMarker(pStateBitset);

  Drawable[] toDrawLayers;
  if (mSelected)
  {
    BitmapDrawable overlay = (BitmapDrawable) mSELECTED_OVERLAY;
    overlay.setAntiAlias(true);

    toDrawLayers = new Drawable[] { currentMarker, overlay };
  }
  else
  {
    toDrawLayers = new Drawable[] { currentMarker };
  }

  return new LayerDrawable(toDrawLayers);     
}

这可以按预期工作(绘制标记,例如Actual marker)。标记的发光是我希望实现的效果。根据上面的代码,它是通过两个分层Drawable生成的,即(例如)School MarkerMarker Overlay

我必须确保发光的大小与普通标记图像相同,因此生成的Drawable不会重新缩放(标记图像大小为32x37像素)。

然而,我的目标实际上是更大的光芒(确实会产生更大的图像),例如:alt text

如何渲染产生更大光晕的drawable(因此使用的图像确实比普通标记图像大)并且会导致缩放/调整大小的正常标记?那可行吗?

在此先感谢,如有必要,我可以提供任何其他详细信息。

1 个答案:

答案 0 :(得分:0)

使用其他标记图像。 Here is a sample project显示根据用户输入更改标记图像。