Как скрыть / отключить Google StreetView в Android-студии - PullRequest
0 голосов
/ 03 января 2019

Я создал простой макет в 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);скрыть весь вид улицы?

...