如何在Google Maps API上绘制透明圆圈

问题描述 投票:0回答:3

我尝试在 Google Maps API 上画圆圈,它是透明的。

CircleOptions circleOptions = new CircleOptions()
        .center(new LatLng(lat, lon))
        .radius(50.0)
        .strokeColor(Color.TRANSPARENT)
        .strokeWidth(1)
        .fillColor(Color.CYAN); // 

但是我喜欢把它们画成透明的,这样我就可以看到后面的地图?我怎么能这么做呢?

android google-maps google-maps-api-3
3个回答
14
投票

对于 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)
                    );

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

将其设置为任何颜色

在上面,实际的颜色代码是#71cce722的前两位数字表示透明度,可以将其设置为任何值以增加或减少透明度。

查看示例


0
投票

Jetpack Composegoogle 地图 小部件有一个 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)
© www.soinside.com 2019 - 2024. All rights reserved.