我仅使用Java代码在android studio中创建了一个简单的布局,因此我可以将Google街景视图嵌入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方法。 setVisibility(View.INVISIBLE);隐藏整个街景?