Я использую Xamarin и изменил пример Google Maps API 2, чтобы использовать объекты SupportMapFragment
, а не объекты MapFragment
.
Могу ли я помочь с функцией InitMapFragment
.
Вот код:
private void InitMapFragment()
{
_mapFragment = FragmentManager.FindFragmentByTag("map") as SupportMapFragment;
if (_mapFragment == null)
{
GoogleMapOptions mapOptions = new GoogleMapOptions()
.InvokeMapType(GoogleMap.MapTypeNormal)
.InvokeZoomControlsEnabled(true)
.InvokeCompassEnabled(true);
FragmentTransaction fragTx = FragmentManager.BeginTransaction();
_mapFragment = SupportMapFragment.NewInstance(mapOptions);
fragTx.Add(Resource.Id.mapWithOverlay, _mapFragment, "map");
fragTx.Commit();
}
}
_mapFragment
раньше имел тип MapFragment
, а теперь SupportMapFragment
.
Кроме того, на данный момент активность наследуется от Activity
, должно ли это быть FragmentActivity
или что-то еще?
Вот ошибки, которые я получаю:
Ошибка CS0039: невозможно преобразовать тип «Android.App.Fragment» в «Android.Gms.Maps.SupportMapFragment» с помощью преобразования ссылки, преобразования упаковки, преобразования распаковки, преобразования упаковки или преобразования нулевого типа.
Ошибка CS1503: аргумент 2: невозможно преобразовать из «Android.Gms.Maps.SupportMapFragment» в «Android.App.Fragment»
Я почти уверен, что мне нужно использовать SupportFragmentManager
, а не FragmentManager
, но мне нужна помощь.
ИЗМЕНИТЬ
При попытке использовать SupportFragmentManager я получаю следующую ошибку:
Ошибка CS0103: имя «SupportFragmentManager» не существует в текущем контексте.
заранее спасибо