【问题标题】:Anti-Alising Circle shape Google Maps V2 AndroidAnti-Aliasing Circle shape Google Maps V2 Android
【发布时间】:2014-02-23 10:46:57
【问题描述】:

我在使用 Google Maps v2 绘制圆圈时遇到问题。圆圈显示正确,但圆圈的边缘不平滑,它们非常锋利,有没有办法对形状应用抗锯齿?谢谢

我的代码:

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

【问题讨论】:

  • 你试过.strokeWeight(1.5)

标签: java android google-maps


【解决方案1】:

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

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

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

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

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

BitmapDescriptor descriptor = BitmapDescriptorFactory.fromBitmap(bitmap);

定义了这个对象,你只需要将它设置为你的标记图标:

Marker.setIcon(descriptor);

MarkerOptions.icon(descriptor);

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-24
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    相关资源
    最近更新 更多