38

verwenden Ich bin mir nicht sicher, ob ich verwenden oder eine MapFragment verwenden sollte. Meine Anwendung ist eine App, die die nächstgelegenen Orte in Ihrer Nähe findet. Ich möchte in der Lage sein, Orte hinzuzufügen, Details eines Markers anzuzeigen, wenn ich einen Marker drücke, und wenn der Benutzer sich entlang der Karte bewegt, möchte ich die Koordinaten der Mitte der Karte erhalten und die nächsten Orte innerhalb eines definierten anzeigen können Radius. Wäre ich benachteiligt, wenn ich weiterhin MapFragments benutze oder sollte ich zu wechseln, solange ich noch die Chance habe?Sollte ich MapView oder MapFragment

Antwort

41

Als erstes werden MapView und Google Maps API V1 bald nicht mehr unterstützt und keine neuen Updates erhalten. Und bald wird die ganze Unterstützung weg sein.

Zweitens, MapFragment mag momentan ein wenig weniger flexibel sein, aber die Map präsentiert, manipuliert sieht viel besser aus. Und ich denke, dass sich die Funktionalität mit der Zeit verbessern wird.

Also würde ich definitiv weiterhin MapFragments verwenden.

UPDATE: Wie @ Brian White in den Kommentaren darauf hingewiesen, heute gibt es eine MapView in Google API V2, und Sie sollten es verwenden, wenn Sie eine Karte in einem Fragment einbetten möchten. Auf diese Weise vermeiden Sie kaskadierende Fragmente, wenn Sie nicht müssen.

+2

Danke, das =) –

+0

Im Hinblick auf die Funktionalitäten ist ermutigend, dass MapView wie onTouchEvent (Motion Ereignis, MapView mapView) erfordern, wäre es möglich, diese in MapFragments mit Leichtigkeit zu implementieren? –

+0

Sie können Ihre FragmentActivity diesen Inhaber die MapFragment onMapClick und OnMapLongClick je nach dem, was Sie erreichen möchten implementieren. –

24

MapFragment

  • es verwenden, wenn Sie eine Karte in Aktivitätsklasse hinzufügen möchten (nicht fragmentieren, weil es ein verschachteltes Fragment schaffen und es ist ein Chaos). Verwenden Sie SupportMapFragment, wenn Sie nur Android-Versionen niedriger als V12 unterstützen möchten.

MapView

  • es verwenden, wenn Sie eine Karte in ein Fragment hinzufügen werden. (Sie müssen jedes lifecicle zu MapView aktualisieren).
Verwandte Themen