我是android新手。我一直在尝试将视野应用到我在谷歌地图中的当前位置。该图像显示了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总是会发生。是否有可能使它不闪烁?
由于
答案 0 :(得分:1)
https://developers.google.com/maps/documentation/android/shapes
根据上面的Google文档。
您应通过致电更新形状 Polygon.setPoints Link
而不是删除/添加。
希望这会有所帮助