第一次来这里。我使用StreetView创建应用程序。想在顶级街景全景图上绘制标记。
使用setContentView()在布局之间切换。在元素“StreetViewPanoramaView extends FrameLayout”(com.google.android.gms.maps)的布局上,我有元素“StreetOverlayView extends SurfaceView”。使用“Canvas canvas = surfaceHolder.lockCanvas();”我在SurfaceView上绘制位图。
看:SurfaceView绘制位图StreetView
在setContentView之后的所有时间看起来像:StreetView SurfaceView绘制位图
我尝试了不同的选项:1)首先将setContentView(布局与StreetViewPanoramaView)和位图绘制在顶部,看起来不错。在我setContentView(另一个布局)和再次setContentView(布局与StreetViewPanoramaView)后 - 位图不绘制:(在顶部 - 仅在StreetViewPanoramaView下。
2)第一个setContentView(另一个布局)和setContentView(布局与StreetViewPanoramaView)之后 - 位图NOT draw :(在顶部。
我尝试使用布局中的元素“bringChildToFront” - 而不是工作。
如何在顶部使用画布绘制返回SurfaceView?
我有解决方案:在新的FrameLayout中放置“StreetOverlayView extends SurfaceView”元素,在setContentView之后我从此FrameLayout中删除我的元素并再次添加。
frame1.removeView( markerView );
frame1.addView ( markerView );