目前,我正在开发一个包含Map的App。在这里我想将我的相机预览添加为Mapview的背景或图层。这意味着,所有地点标记仅显示我的相机预览。 。实际上,这背后的概念是,当我打开我的相机活动时,它会显示附近的地方标记。因此,当我单击该标记时,它会显示包含位置详细信息的弹出窗口。如图所示。我该怎么办呢。请给我任何想法。我尝试在背景上进行相机预览,在前景和setAlpha(0)上进行mapview,并删除mapview上的所有图层,依此类推。什么都不适合我。请帮我找出解决方案。提前致谢。
更新
这是我添加相机预览的方式:
FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
cameraSurfaceView = new CameraSurfaceView(this);
preview.addView(cameraSurfaceView);
这就是我添加MapView的方式:
<?xml version="1.0" encoding="utf-8"?>
<com.nutiteq.MapView
android:id="@+id/mapView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/transparent_background" />
<FrameLayout
android:id="@+id/camera_preview"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</RelativeLayout>
mapView = (MapView) findViewById(R.id.mapView);
我尝试过mapView.setAlpha(0f);
,但这会将mapview与标记一起隐藏。什么都看不到。
我试图设置
Canvas can = new Canvas();
can.drawColor(0x7FFFFFFF);
mapView.draw(can);
但这个也行不通。
有一些名为addLayer();
的方法,但我不知道如何将我的相机预览转换为图层。
答案 0 :(得分:2)
我担心在其他观点之上使用Nutiteq MapView
是不可能的。 MapView
基于GLSurfaceView
类,其排序与其他视图的排序有限 - 它可能只是最底层的视图。这是Android中的GLSurfaceView
限制。
答案 1 :(得分:2)
对不起,我的观念完全错了。在研究增强现实概念后,现在一切顺利。现在我从这里enter link description here使用BeyondAR Agumented Reality SDK。
答案 2 :(得分:1)
我不确定自己是否理解正确,你想要drawable
camera preview
作为背景,不是吗?
如果这是您想要的,那么您可以捕捉或截取您的camera preview
视图
# Build the Drawing Cache
view.buildDrawingCache();
# Create Bitmap
Bitmap cache = view.getDrawingCache();
# Save Bitmap
saveBitmap(cache);
view.destroyDrawingCache();
然后您可以根据需要使用此屏幕截图。
我希望,这可以帮到你。
亲切的问候
P.S。我发现此信息here可以捕获我的视图的景点,从那以后我经常使用它。