在Xamarin的Android,創造MapFragment,該代碼顯示的地圖,但mapFragment.Map始終爲空,我不能設置地圖類型Android的谷歌xamarin是MapFragment.Map空
代碼:
var mapFragment = MapFragment.NewInstance (mapOptions);
FragmentTransaction tx = FragmentManager.BeginTransaction();
tx.Add(Resource.Id.map_fragment_container, mapFragment);
map = mapFragment.Map;
if (map != null) {
map.MapType = GoogleMap.MapTypeNormal;//never comes to this line
}
tx.Commit();
XML:
<FrameLayout
android:id="@+id/map_fragment_container"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent" />
這是一個**非常糟糕的主意,不要使用延遲形式的時間段,因爲它是不可靠的。檢查文檔是否是異步操作(我懷疑)是否應該等待它完成,否則就會出現其他問題,並設置一個意外幫助的「超時」。 – 2014-11-05 16:54:21
@ Alex.F謝謝您的回覆,您能否爲我的問題建議我一個更好的解決方案? – 2014-11-06 12:38:45
我有同樣的問題。我通過在onResume中重新調用地圖創建來進行修復。有時地圖不是空的,但如果你在onCreate中進行檢查,然後在onResume中重試它的工作。讓我知道你是否想要一個代碼示例,但是它在當前的Xamarin Droid示例中以這種方式處理 – 2015-03-13 09:58:06