38

Nie jestem pewien, czy powinienem używać MapView lub trzymać się za pomocą MapFragment. Moja aplikacja to aplikacja, która znajduje najbliższy zestaw miejsc, które są najbliżej Ciebie. Chcę móc dodawać lokalizacje, wyświetlać szczegóły znacznika po naciśnięciu znacznika, a kiedy użytkownik porusza się po mapie, chcę uzyskać współrzędne środka mapy i wyświetlić najbliższe lokalizacje w określonym obszarze promień. Czy byłbym w gorszej sytuacji, jeśli będę nadal używać MapFragments, czy powinienem przełączyć się na MapView, a wciąż mam szansę?Należy użyć MapView lub MapFragment

Odpowiedz

41

Po pierwsze, wkrótce MapView i Google Maps API V1 przestaną być obsługiwane i nie otrzymają żadnych nowych aktualizacji. Wkrótce całe wsparcie zniknie.

Po drugie, funkcja MapFragment może być teraz nieco mniej elastyczna, ale prezentowana mapa znacznie lepiej wygląda. I myślę, że jego funkcjonalność poprawi się z czasem.

Dlatego zdecydowanie będę nadal używać MapFragments.

UPDATE: Jak @Brian Biały zauważył w komentarzach, dzisiaj jest MapView w Google API V2 i należy go używać, gdy chcemy umieścić mapę w fragmentu. W ten sposób unikniesz kaskadowania fragmentów, gdy nie będziesz musiał.

+2

Dzięki, że jest zachęcanie =) –

+0

w odniesieniu do funkcjonalności, które wymagają MapView takich jak onTouchEvent (zdarzenie MotionEvent, MapView MapView), byłoby możliwe do wykonania to z łatwością w MapFragments? –

+0

możesz pozwolić swojej FragmentActivity, która posiada narzędzie MapFragment naMapClick i onMapLongClick, w zależności od tego, co chcesz osiągnąć. –

24

MapFragment

  • Użyj go jeśli chcesz dodać mapę do klasy Aktywny (fragment ponieważ nie będzie on tworzyć zagnieżdżone fragment i its bałagan).
  • Użyj funkcji SupportMapFragment, jeśli chcesz obsługiwać tylko wersje Androida: niższą niż wersja v12.

MapView

  • Użyj go jeśli masz zamiar dodać mapę do fragmentu. (musisz zaktualizować każdy moduł do MapView, aby uzyskać ).
Powiązane problemy