Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
谷歌地图Android圈填充不起作用_Android_Google Maps_Overlay - Fatal编程技术网

谷歌地图Android圈填充不起作用

谷歌地图Android圈填充不起作用,android,google-maps,overlay,Android,Google Maps,Overlay,我正在使用地图视图显示谷歌地图,并尝试创建一个圆形覆盖。但由于某些原因,圆圈边框会显示,但不会填充任何颜色,以下是使用android生成的内容: 以下是我想要的想法(我通过w3school在线编辑器创建了它) 代码如下: LatLng center = new LatLng(-16.272425327210556,166.4380745618525); double radius = 9944545.500957435; CircleOptions co = new Circl

我正在使用
地图视图
显示
谷歌地图
,并尝试创建一个圆形覆盖。但由于某些原因,圆圈边框会显示,但不会填充任何颜色,以下是使用android生成的内容:

以下是我想要的想法(我通过w3school在线编辑器创建了它)

代码如下:

   LatLng center = new LatLng(-16.272425327210556,166.4380745618525);
   double radius = 9944545.500957435;
   CircleOptions co = new CircleOptions().center(center).clickable(false).radius((radius)).fillColor(Color.YELLOW).visible(false);
   this.marker_twilight_civil = map.addCircle(co);
我尝试使用不同的半径值,实际上它适用于特定的半径值,在这里我创建了3个不同半径值的圆,其中一个是填充的,另外两个不是填充的

这是正确填充的圆圈的代码

LatLng center = new LatLng(-16.272425356472187,166.43807456511806);
double radius = 8006044.77150472;
CircleOptions co = new CircleOptions().center(center).clickable(false).radius((radius)).fillColor(Color.GREEN).visible(true);
this.marker_night = map.addCircle(co);

半径太大会不会是个问题?但是网络版的效果很好。

可能是因为半径太大。谷歌地图使用墨卡托投影,如果圆足够大,它会使圆倾斜。出于技术原因,如果形状未“闭合”,则不会应用填充。如果形状太大,或太接近贴图高度倾斜的顶部或底部,则形状将断开,填充将被忽略

如果这真的很重要,您可以尝试在Google Maps上强制自定义投影(这可以避免倾斜并保持形状闭合),但这不是一个良好的路径,我无法提供链接之外的解决方案: