Добавить предварительный просмотр камеры в качестве слоя для Mapview в Android
В настоящее время я работаю над приложением, которое содержит карту. в этом я хотел бы добавить мой предварительный просмотр камеры в качестве фона или слоя 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);
но это скрыть mapview вместе с маркером. ничего не мог видеть.
Я пытался установить
Canvas can = new Canvas();
can.drawColor(0x7FFFFFFF);
mapView.draw(can);
но этот тоже не работает.
есть метод, который называется addLayer();
но я не знаю, как конвертировать мой предварительный просмотр камеры в качестве слоя.
3 ответа
Извините, я был совершенно неправ по своей концепции. Теперь все идет хорошо после изучения концепций дополненной реальности. сейчас я использую BeyondAR Agumented Reality SDK, введите описание ссылки здесь.
Я боюсь использовать Nutiteq MapView
поверх других просмотров это невозможно. MapView
основывается на GLSurfaceView
Класс и его упорядочение по сравнению с другими представлениями ограничены - это может быть только самое нижнее представление. Это GLSurfaceView
ограничение в Android.
Я не уверен, правильно ли я понял, вы хотите drawable
из camera preview
в качестве фона, не так ли?
Если это то, что вы хотите, то вы можете захватить или сделать скриншот camera preview
Смотреть как это
# Build the Drawing Cache
view.buildDrawingCache();
# Create Bitmap
Bitmap cache = view.getDrawingCache();
# Save Bitmap
saveBitmap(cache);
view.destroyDrawingCache();
Тогда вы можете работать с этим снимком экрана, как вы хотите.
Я надеюсь, это может помочь вам.
С уважением
PS Я нашел эту информацию здесь, чтобы захватить достопримечательности моих просмотров, и с тех пор я часто использую ее.