3

我是安卓新手。我一直在尝试将视野应用到我在谷歌地图中的当前位置。该图显示了 iOS 中 Google 地图上的 FOV。

在此处输入图像描述

所以基本上我做了类似的事情,添加了 5 个具有不同 alpha 的三角形,以使整个 fov 成为一个渐变。

在此处输入图像描述

我必须根据设备的方位角更新这个 fov,所以我删除了这些三角形,重新计算它们并再次添加它们。

    for(int i=0; i<5;i++){
        if(triangles[i]!=null){
            triangles[i].remove();
        }
    //triangles=null;

        la = mvalues[0]-hang/2;
        lx = lon+i*Math.sin(Math.toRadians(la))/2775;
        ly = lat+i*Math.cos(Math.toRadians(la))/2775;
        ra = mvalues[0]+hang/2;
        rx = lon+i*Math.sin(Math.toRadians(ra))/2775;
        ry = lat+i*Math.cos(Math.toRadians(ra))/2775;

        triangles[i] = map.addPolygon(new PolygonOptions().add(new LatLng(lat,lon), new LatLng(ly,lx), new LatLng(ry,rx)).strokeColor(Color.TRANSPARENT).fillColor(Color.argb(50, 0, 0, 50)));

    }

fov 总是闪烁,并且 gc_concurrent 总是发生。有没有可能让它不闪烁?

谢谢

4

1 回答 1

1

https://developers.google.com/maps/documentation/android/shapes

根据上面的谷歌文档。

您应通过调用 Polygon.setPoints Link来更新形状

而不是删除/添加。

希望这会有所帮助

于 2013-05-22T04:13:31.423 回答