1

現在、マップを含むアプリに取り組んでいます。これで、カメラのプレビューを Mapview の背景またはレイヤーとして追加したいと思います。つまり、すべての場所マーカーには、カメラのプレビューが 1 つだけ表示されます。このような. 実際、これの背後にある概念は、カメラ アクティビティを開くと、近くの場所マーカーが表示されるということです。そのマーカーをクリックすると、場所の詳細を含むポップアップが表示されます。画像に示すように。どうすればこれを実装できますか。アイデアを教えてください。バックグラウンドでカメラのプレビューを、フォアグラウンドでマップビューを、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 に答える
0

私が正しく理解しているかどうかわかりませんがdrawablecamera 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 に答える