1

目前,我正在开发一个包含地图的应用程序。在此我想将我的相机预览添加为 Mapview 的背景或图层。这意味着,所有地点标记仅显示一个我的相机预览。像这样. 实际上背后的概念是,当我打开相机活动时,它会在其上显示附近的地点标记。因此,当我单击该标记时,它会显示包含地点详细信息的弹出窗口。如图所示。请问我该如何实施。请给我任何想法。我已经尝试在背景上使用相机预览,在前景和 setAlpha(0); 上使用地图视图,并删除地图视图上的所有图层等等。对我来说没有什么锻炼。请帮助我找出解决方案。提前致谢。

更新:

这就是我添加相机预览的方式:

 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);将地图视图与标记一起隐藏。什么都看不见。

我试图设置

Canvas can =  new Canvas();
can.drawColor(0x7FFFFFFF);
mapView.draw(can);

但这也行不通。

有一些方法被调用addLayer();,但我不知道如何将我的相机预览转换为图层。

4

3 回答 3

1

恐怕不可能MapView在其他视图之上使用 Nutiteq。MapView是基于GLSurfaceView类的,它与其他视图的排序是有限的——它只能是最底层的视图。这是GLSurfaceViewAndroid 的限制。

于 2014-02-25T18:19:37.823 回答
1

对不起,我的概念完全错了。现在,在研究了增强现实概念之后,一切都很顺利。现在我从这里使用 BeyondAR Agumented Reality SDK 在此处输入链接描述

于 2014-02-26T03:40:36.707 回答
0

我不确定我是否理解正确,你想要一个drawable作为camera preview背景,不是吗?

如果这就是您想要的,那么您可以camera preview像这样捕获或截取您的视图

# Build the Drawing Cache
view.buildDrawingCache();

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

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

然后,您可以根据需要使用此屏幕截图。

我希望,这可以帮助你。

亲切的问候

ps 我在这里找到了这个信息捕捉我的观点,从那时起我经常使用它。

于 2014-07-11T07:40:53.097 回答