Я создал простой макет в Android Studio, используя только код Java, чтобы я мог встроить Google Street View в Unity.Макет состоит из вида улицы и кнопки, чтобы скрыть / показать вид (метод CycleStreetView ()).Однако это только скрывает водяные знаки Google (??) и не позволяет вам взаимодействовать с видом на улицу.
Я попытался установить весь макет невидимым.Он имеет тот же эффект, что и описанный выше, а также скрывает кнопку.Я прошел через все методы объекта просмотра улиц в надежде найти что-то, что скрывает / отключает это без удачи.Существуют только варианты включения / выключения жестов и отображения / скрытия компонентов в виде улиц (названия улиц и т. Д.).Я предоставляю весь сценарий на случай, если я что-то пропустил.Вы можете попробовать код в Android Studio, заменив «UnityPlayerActivity» на «AppCompactActivity».
package com.company.project;
import...
public class StreetView extends UnityPlayerActivity {
private static FrameLayout layout;
private static StreetViewPanoramaView mStreetViewPanoramaView;
private static Button backButton;
private static boolean streetFlag;
private static final LatLng SPECTRA = new LatLng(40.5823243, 22.943672);
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StreetViewPanoramaOptions options = new StreetViewPanoramaOptions();
options.position(SPECTRA);
mStreetViewPanoramaView = new StreetViewPanoramaView(this, options);
backButton=new Button(this);
backButton.setText("Back");
layout=new FrameLayout(this);
addContentView(layout,new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
layout.addView(mStreetViewPanoramaView, new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,Gravity.BOTTOM));
layout.addView(backButton, new FrameLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,Gravity.TOP));
Bundle mStreetViewBundle = null;
mStreetViewPanoramaView.onCreate(mStreetViewBundle);
backButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CycleStreetView();
}
});
}
public static void CycleStreetView(){
if (!streetFlag){
mStreetViewPanoramaView.setVisibility(View.INVISIBLE);
streetFlag = !streetFlag;
}
else {
mStreetViewPanoramaView.setVisibility(View.VISIBLE);
streetFlag = !streetFlag;
}
}
}
Сначала я создаю кнопку, а также параметры просмотра улиц и передачи.Затем я создаю макет и размещаю вид улицы и кнопку.Наконец, кнопка прослушивает метод CycleStreetView.Не следует устанавливать Visibility (View.INVISIBLE);скрыть весь вид улицы?