Я собираюсь интегрировать сюда карту Premium SDK, особенно карту с пошаговыми инструкциями, в приложении React Native. На официальном примере, здесь карта SDK предоставляет Fragment
со всеми его функциями. Я попытался сделать framelayout и добавить этот фрагмент библиотеки в него. Кажется, что все функции применяются без каких-либо исключений, но представление карты не отображается с размером 0. Ниже приведены коды замены:
public class MapView extends FrameLayout {
private MapFragment m_mapFragment;
private AppCompatActivity m_activity;
...
public MapView(AppCompatActivity context) {
super(context);
m_activity = context;
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT
);
this.setLayoutParams(params);
}
public void init() {
FragmentManager fragmentManager = m_activity.getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
m_mapFragment = new MapFragment();
fragmentTransaction.add(this.getId(), m_mapFragment);
fragmentTransaction.commitNow();
View view = m_mapFragment.getView();
if (view != null) {
LayoutParams parmas = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
view.setLayoutParams(parmas);
view.setBackgroundColor(Color.GREEN);
}
}
При отладке при вызове функции init
MapView (FrameLayout) также имеет ширину 1080, но mapFragment
по-прежнему не отображается ни на карте, ни на зеленом цвете. .