反锯齿圆形形状 Google 地图 V2 Android

5

我在使用Google Maps v2时遇到了绘制圆形的问题。圆形正确显示,但边缘并不平滑,有些锐利。是否有办法对该形状应用抗锯齿功能?谢谢。

我的代码:

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

你尝试过 .strokeWeight(1.5) 吗? - Andre Breton
1个回答

0

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

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

为了使事情变得更容易,您甚至可以使用Android Studio创建一个新的Image资源,选择Clip Art,并搜索“亮度”。第一个图标将是一个完美的圆形,然后您可以更改其大小和颜色以适应您的口味。之后,只需从您新创建的drawable创建一个新的Bitmap:

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

创建一个BitmapDescriptor,用于为Google地图标记(Marker)设置其图标:

BitmapDescriptor descriptor = BitmapDescriptorFactory.fromBitmap(bitmap);

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

Marker.setIcon(descriptor);

或者

MarkerOptions.icon(descriptor);

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

正如我所说,这不是你问题的完整答案,但这是我知道存在的最接近的东西。希望它能在某种程度上有所帮助。


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