2011-09-02 67 views
2

我使用的是Android Compatibility Package,我试图在FragmentonCreateView中添加MapView。但是,地图不会缩放或显示正确的坐标。它只显示整个世界地图(最低细节)。osmdroid - mapview中的片段

下面是简单的代码应该正常工作

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    MapView mapView = new MapView(getActivity(), 256); 
    mapView.getController().setZoom(14); 
    mapView.getController().setCenter(new GeoPoint(46814000,17977000)); 
    return mapView; 
} 

希望有人知道如何解决这个问题。

感谢

+0

好吧,我设法弄清楚什么是错的。未设置缩放和坐标的原因是因为这是另一个映射(从XML加载),并且其中一个显示为默认值。 我上面发起的那个根本没有显示出来。原因是因为你必须首先将它添加到RelativeLayout。然后相应的布局应该是返回的布局。 –

+0

嗯...你只能在MapActivity中添加一个MapView,并且兼容包中没有MapActivity?你想要得到java.lang.IllegalArgumentException:MapViews只能在MapActivity的实例内部创建。 ? – 2011-09-15 18:50:13

回答

1

到@Tony你可能已经想通了这一点,但已经在MapFragment仅在兼容性包存在。目前常见的解决方案是使用MapActivity作为活动,并在其中添加片段或使用兼容性包,并通过TabHost和LocalActivityManager添加片段http://stackoverflow.com/questions/5109336/mapview-在片段蜂窝