在Android中将相机预览添加为Mapview的图层

在Android中将相机预览添加为Mapview的图层,android,overlay,android-camera,android-mapview,nutiteq,Android,Overlay,Android Camera,Android Mapview,Nutiteq,目前,我正在开发一个包含地图的应用程序。在这里,我想添加我的相机预览作为Mapview的背景或图层。也就是说,所有位置标记只显示一个“我的相机预览”。实际上,这背后的概念是,当我打开我的相机活动时,它会显示附近的位置标记。所以,当我点击那个标记时,它会显示包含地点详细信息的弹出窗口。如图所示。我怎样才能实现这一点呢。请告诉我任何想法。我尝试过在背景上使用相机预览,在前景上使用mapview,并使用setAlpha(0);,并删除mapview上的所有图层,依此类推。对我来说没有什么锻炼。请帮我找

目前,我正在开发一个包含地图的应用程序。在这里,我想添加我的相机预览作为Mapview的背景或图层。也就是说,所有位置标记只显示一个“我的相机预览”。实际上,这背后的概念是,当我打开我的相机活动时,它会显示附近的位置标记。所以,当我点击那个标记时,它会显示包含地点详细信息的弹出窗口。如图所示。我怎样才能实现这一点呢。请告诉我任何想法。我尝试过在背景上使用相机预览,在前景上使用mapview,并使用setAlpha(0);,并删除mapview上的所有图层,依此类推。对我来说没有什么锻炼。请帮我找出解决办法。提前谢谢

更新:

以下是我添加相机预览的方式:

 FrameLayout preview = (FrameLayout) findViewById(R.id.camera_preview);
    cameraSurfaceView = new CameraSurfaceView(this);
    preview.addView(cameraSurfaceView);
这就是我添加地图视图的方式:

<?xml version="1.0" encoding="utf-8"?>
但是这个也不起作用


有一种方法叫做
addLayer()但我不知道如何将相机预览转换为图层

恐怕无法在其他视图之上使用Nutiteq
MapView
MapView
基于
GLSURFACHEVIEW
类,它与其他视图的顺序是有限的-它只能是最底部的视图。这是Android的一个限制。

对不起,我的概念完全错了。现在,在研究了增强现实概念后,一切都进展顺利。现在我在这里使用BeyondAR Agumented Reality SDK

我不确定我是否理解正确,你想要一个
可绘制的
相机预览的
作为背景,不是吗

如果这是您想要的,那么您可以像这样捕获或截图您的
相机预览
视图

# Build the Drawing Cache
view.buildDrawingCache();

# Create Bitmap
Bitmap cache = view.getDrawingCache();

# Save Bitmap
saveBitmap(cache);
view.destroyDrawingCache(); 
然后你可以随心所欲地使用这个屏幕截图

我希望这能对你有所帮助

问候


p、 我发现这些信息是为了捕捉我的观点,从那以后我经常使用它

你能提供一些代码片段来进行研发吗?这是一个增强的RealityToDroid应用程序@是的,我正在看。希望这一个能帮助我,一旦我做了,我会让你知道。非常感谢你,伙计。。你太棒了!!!当我运行这个示例应用程序时,出现了一个名为VM中止的错误。0xdeaddood(代码=1)处的Fatel信号11(SIGSEGV),线程7855(org.mixare)。。你知道为什么吗?嗨,马克,你是对的,
Nutiteq地图视图
的行为与安卓地图视图
不一样,这将是一个问题,即将父视图为
Nutiteq地图视图
视图充气,因此,
inflate
方法需要一个
ViewGroup
父参数,
Nutiteq Mapview
不是从
ViewGroup
继承的,而是“Android.View
”,所以我认为RathaKrishna想要的只是一个捕获的
视图`as
draawable
,它独立于
Nutiteq
,那只是安卓系统的一部分。查看<代码>相关,而不是查看组<代码>相关。
Canvas can =  new Canvas();
can.drawColor(0x7FFFFFFF);
mapView.draw(can);
# Build the Drawing Cache
view.buildDrawingCache();

# Create Bitmap
Bitmap cache = view.getDrawingCache();

# Save Bitmap
saveBitmap(cache);
view.destroyDrawingCache();