抗锯齿圆形Google Maps V2 Android

时间:2014-01-30 21:54:46

标签: java android google-maps

我在使用Google Maps v2绘制圆圈时遇到问题。圆形显示正确,但圆的边缘不平滑,它们非常清晰,有没有办法将Antialising应用于形状?感谢

我的代码:

CircleOptions circleOptions = new CircleOptions()
      .center(point)  
      .radius(500)  
      .fillColor(0x7F0000FF) 
      .strokeColor(Color.rgb(71, 143, 150))
      .strokeWidth(2);

1 个答案:

答案 0 :(得分:0)

我知道这是一个老问题,而我并没有完全回答,但无论如何,这是我的贡献:

到目前为止,我认为在Android中无法做到这一点。唯一的解决方法是使用Google Maps Marker并将其图标替换为光滑圆圈的位图。你将无法改变它的大小,但我认为这几乎是不使用Circle对象的唯一限制。

为了简化操作,您甚至可以使用Android Studio创建新的Image资源,选择剪贴画,然后搜索" brightness"。第一个图标将是一个完美的圆圈,然后您可以根据自己的喜好改变尺寸和颜色。然后,只需从新创建的drawable中创建一个新的Bitmap:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.DRAWABLE_NAME_HERE);

创建一个BitmapDescriptor,用于为Google Maps Marker提供其图标:

BitmapDescriptor descriptor = BitmapDescriptorFactory.fromBitmap(bitmap);

定义此对象后,您只需将其设置为Marker的图标:

Marker.setIcon(descriptor);

MarkerOptions.icon(descriptor);

使用这些MarkerOptions创建一个新标记。

正如我所说,这不是你问题的完整答案,但它是我所知道的最接近的事情。希望它有所帮助。