Anti-Alising Circle形状Google Maps V2 Android

poc*_*men 5 java android google-maps

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

我的代码:

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

小智 0

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

到目前为止,我相信 Android 中还没有办法做到这一点。唯一的解决方法是使用 Google 地图标记并将其图标替换为平滑圆圈的位图。您将无法更改它的大小,但我认为这几乎是不使用 Circle 对象的唯一限制。

为了让事情变得更简单,您甚至可以使用 Android Studio 创建新的图像资源,选择剪贴画,然后搜索“亮度”。第一个图标将是一个完美的圆形,然后您可以根据自己的喜好更改其大小和颜色。然后,只需从新创建的可绘制对象中创建一个新的位图:

Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.DRAWABLE_NAME_HERE);
Run Code Online (Sandbox Code Playgroud)

并创建一个 BitmapDescriptor,用于为 Google 地图标记提供其图标:

BitmapDescriptor descriptor = BitmapDescriptorFactory.fromBitmap(bitmap);
Run Code Online (Sandbox Code Playgroud)

定义了这个对象后,您只需将其设置为标记的图标:

Marker.setIcon(descriptor);
Run Code Online (Sandbox Code Playgroud)

或者

MarkerOptions.icon(descriptor);
Run Code Online (Sandbox Code Playgroud)

并使用这些MarkerOptions创建一个新的Marker。

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