在Google地图中动态绘制多边形

时间:2013-05-21 10:03:28

标签: android google-maps-api-2

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

enter image description here

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

enter image description here

我必须根据设备的方位角更新此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总是会发生。是否有可能使它不闪烁?

由于

1 个答案:

答案 0 :(得分:1)

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

根据上面的Google文档。

您应通过致电更新形状 Polygon.setPoints Link

而不是删除/添加。

希望这会有所帮助