我使用PanoramaGL库(https://code.google.com/p/panoramagl/)来显示球形360°图像。
我想要的: 屏幕的上半部分应包含OSMdroid-Map(https://osmdroid.net/),下半部分显示PanoramaGL的全景图像,如下所示:
问题: 您可以使用扩展Activity的PLView类在PanoramaGL中创建全景视图。
如果您显示全景图像,它总是占据整个屏幕,我看不到改变布局的方法。一旦我尝试定义任何xml-Layout,全景图像就不会再出现了。
我当前的代码,其中地图部分被注释掉,因此只显示全景图像:
package com.example.campusnav;
//lots of imports...
public class MainActivity extends PLView {
private MapView mMapView;
private MapController mMapController;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/*setContentView(R.layout.activity_main);
mMapView = (MapView) findViewById(R.id.mapview);
mMapView.setTileSource(TileSourceFactory.DEFAULT_TILE_SOURCE);
mMapView.setBuiltInZoomControls(true);
mMapView.setMultiTouchControls(true);
mMapController = (MapController) mMapView.getController();
mMapController.setZoom(13);
GeoPoint startPoint = new GeoPoint(52.432846, 8.369147);
mMapController.setCenter(startPoint);*/
PLSpherical2Panorama panorama = new PLSpherical2Panorama();
panorama.setImage(new PLImage(PLUtils.getBitmap(this, R.raw.p_1), false));
this.setPanorama(panorama);
}
}
有关如何解决此问题的任何建议?有没有办法显示以垂直布局排列的两个单独的活动?
答案 0 :(得分:0)
是的,你可以同时显示全景和地图
从PLView扩展您的活动
XML
<RelativeLayout
android:id="@+id/rl_streetview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="0dp"
android:layout_weight="1"
android:background="#00FF40" >
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_mapview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/rl_streetview"
android:layout_margin="0dp"
android:layout_weight="1" >
<fragment
android:id="@+id/location_map"
android:layout_width="match_parent"
android:layout_height="fill_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
</RelativeLayout>
活动
@Override
protected View onContentViewCreated(View contentView) {
ViewGroup mainView = (ViewGroup) this.getLayoutInflater().inflate(R.layout.activity_main, null);
rl_streetview = (RelativeLayout) mainView.findViewById(R.id.rl_streetview);
rl_mapview = (RelativeLayout) mainView.findViewById(R.id.rl_mapview);
}