【问题标题】:Add camera preview as layer for Mapview in Android在 Android 中添加相机预览作为 Mapview 的图层
【发布时间】:2014-07-11 15:40:53
【问题描述】:

目前,我正在开发一个包含地图的应用程序。在此我想将我的相机预览添加为 Mapview 的背景或图层。这意味着,所有地点标记仅显示一个我的相机预览。 。实际上,这背后的概念是,当我打开相机活动时,它会在其上显示附近的地点标记。因此,当我单击该标记时,它会显示包含地点详细信息的弹出窗口。如图所示。请问我该如何实施。请给我任何想法。我已经尝试在背景上使用相机预览,在前景上使用 mapview 和 setAlpha(0);,并删除 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);,但这会将地图视图与标记一起隐藏。什么都看不见。

我试过设置

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

但是这个也行不通。

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

【问题讨论】:

  • 能否提供一些代码sn-p
  • 它是一款增强现实应用
  • Ayto-Droid@ 是的,我正在寻找它。希望这个对我有帮助,一旦我完成了,我会告诉你。非常感谢伙计.. 你摇滚!!!
  • 当我运行这个示例应用程序时,我得到了一个错误,叫做 VM aborting。 0xdeaddood (code=1) 处的 Fatel 信号 11 (SIGSEGV),线程 7855 (org.mixare).. 你知道吗,为什么会这样?

标签: android overlay android-camera android-mapview nutiteq


【解决方案1】:

恐怕无法在其他视图之上使用 Nutiteq MapViewMapView 基于 GLSurfaceView 类,它与其他视图的排序是有限的 - 它只能是最底部的视图。这是 Android 中的 GLSurfaceView 限制。

【讨论】:

  • 嗨,马克,你是对的,Nutiteq MapView 的行为不像Android MapView,这将是一个问题,即膨胀一个View,其父级是Nutiteq MapView,所以inflate 方法需要一个 ViewGroup 父参数,而 Nutiteq Mapview 不是从 ViewGroup 继承,而是 ``Android.View, so what I think, RathaKrishna wants is just a capture of a View` 作为 drawable 并且独立于 Nutiteq,这只是 @ 987654336@ 依赖而不是ViewGroup 依赖。
【解决方案2】:

对不起,我的概念完全错了。现在,在研究了 增强现实 概念后,一切顺利。现在我从enter link description here 使用 BeyondAR Agumented Reality SDK。

【讨论】:

    【解决方案3】:

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

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

    # Build the Drawing Cache
    view.buildDrawingCache();
    
    # Create Bitmap
    Bitmap cache = view.getDrawingCache();
    
    # Save Bitmap
    saveBitmap(cache);
    view.destroyDrawingCache(); 
    

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

    希望对你有帮助。

    亲切的问候

    附言我找到了这个信息here 来捕捉我的观点,从那时起我经常使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多