我尝试在 Google Maps API 上画圆圈,它是透明的。
CircleOptions circleOptions = new CircleOptions()
.center(new LatLng(lat, lon))
.radius(50.0)
.strokeColor(Color.TRANSPARENT)
.strokeWidth(1)
.fillColor(Color.CYAN); //
但是我喜欢把它们画成透明的,这样我就可以看到后面的地图?我怎么能这么做呢?
对于 mGoogleMap 作为
GoogleMap
对象,纬度经度为
LatLng currentLatLon = new LatLng(lat double value, lng double value);
这是在谷歌地图中画圆圈的方法
mGoogleMap.addCircle(new CircleOptions()
.center(currentLatLon)
.radius(150)
.strokeColor(Color.RED)
.fillColor(0x220000FF)
.strokeWidth(5)
);
这将在标记周围添加透明圆圈
Circle mCircle = mMap.addCircle(new CircleOptions()
.center(new LatLng(mCurrentLocation.getLatitude(), mCurrentLocation.getLongitude()))
.radius(500)
.strokeWidth(0)
.strokeColor(Color.parseColor("#2271cce7"))
.fillColor(Color.parseColor("#2271cce7")));
对于透明颜色,您可以使用即 #2271cce7
将其设置为任何颜色在上面,实际的颜色代码是#71cce7,22的前两位数字表示透明度,可以将其设置为任何值以增加或减少透明度。
Jetpack Compose 的 google 地图 小部件有一个 Circle 因为它是 marker 已经有一段时间了。 Circle 有一个属性 fillColor ,你可以在其中传递你想要的颜色。如果你想要一个完全透明的圆圈,你可以传递 Color.TRANSPARENT 并传递圆圈的描边颜色,这样就可以看到有一个圆圈。但是,如果您已经有了一种颜色,但同时您希望圆圈后面的地图可见,因此您需要您的圆圈接受具有透明度的颜色,您可以使用 alpha。
Circle(
center = geofenceItem.latLng,
radius = geofenceItem.radius.toDouble(),
fillColor = Color.Blue.copy(alpha = 0.4f),
strokeWidth = 1f,
strokeColor = Color.Green)