38

Я не уверен, должен ли я использовать MapView или придерживаться MapFragment. Мое приложение - это приложение, которое находит ближайший набор ближайших к вам мест. Я хочу иметь возможность добавлять местоположения, отображать детали маркера, когда я нажимаю маркер, и когда пользователь перемещается по карте, я хочу иметь возможность получить координаты центра карты и отобразить ближайшие местоположения в пределах определенного радиус. Был бы я в невыгодном положении, если я продолжу использовать MapFragments, или я должен переключиться на MapView, пока у меня еще есть шанс?Должен ли я использовать MapView или MapFragment

ответ

41

Прежде всего, вскоре MapView и API Google Maps V1 перестанут поддерживаться и не получат никаких новых обновлений. И вскоре вся поддержка уйдет.

Во-вторых, MapFragment может быть немного менее гибким прямо сейчас, но представленная карта, управляемая выглядит намного лучше. И я предполагаю, что это функциональность со временем улучшится.

Поэтому я определенно буду продолжать использовать MapFragments.

UPDATE: Как Белый @ Брайан отметил в комментариях, сегодня есть MapView в Google API V2, и вы должны использовать его, когда вы хотите, чтобы вставить карту в виде фрагмента. Таким образом, вы избегаете каскадных фрагментов, когда вам это не нужно.

+2

Спасибо, это обнадеживает =) –

+0

Что касается функциональных возможностей, которые требуют MapView, таких как onTouchEvent (событие MotionEvent, MapView mapView), можно ли было бы легко реализовать это в MapFragments? –

+0

вы можете позволить вашему FragmentActivity, который поддерживает MapFragment, реализовать onMapClick и onMapLongClick в зависимости от того, что вы хотите выполнить. –

24

MapFragment

  • Используйте его, если вы хотите добавить карту в класс активности (не фрагментировать , потому что это создаст вложенный фрагмент и подмигнул беспорядок).
  • Используйте SupportMapFragment, если вы хотите поддерживать только версии Android ниже, чем v12.

MapView

  • Используйте его, если вы собираетесь добавить карту в фрагмент. (необходимо, чтобы обновлял каждый жизненный цикл до MapView).
Смежные вопросы