2011-09-02 69 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-在片段蜂窩