我应该使用 MapView 还是 MapFragment

Posted

技术标签:

【中文标题】我应该使用 MapView 还是 MapFragment【英文标题】:Should I use MapView or MapFragment 【发布时间】:2013-02-20 14:51:34 【问题描述】:

我不确定我应该使用MapView 还是坚持使用MapFragment。我的应用程序是一个应用程序,它可以找到离您最近的一组地点。我希望能够添加位置,在按下标记时显示标记的详细信息,当用户沿地图移动时,我希望能够获取地图中心的坐标并显示定义的最近位置半径。如果我继续使用MapFragments 是否会处于劣势,还是应该在我还有机会的时候切换到MapView

【问题讨论】:

【参考方案1】:

首先,MapView 和 Google Maps API V1 很快将不再受支持,并且不会收到任何新的更新。很快所有的支持都会消失。

其次,MapFragment 现在可能不太灵活,但呈现的地图,操控起来看起来要好得多。而且我猜它的功能会随着时间的推移而改进。

所以我肯定会继续使用 MapFragments。

更新: 正如@Brian White 在 cmets 中指出的那样,今天 Google API V2 中有一个 MapView,当您想在片段中嵌入地图时应该使用它。这样您就可以避免不必要的级联碎片。

【讨论】:

谢谢,这令人鼓舞 =) 关于onTouchEvent(MotionEvent event, MapView mapView)等需要MapView的功能,是否可以在MapFragments中轻松实现? V2 API 中似乎有一个 MapView:developers.google.com/maps/documentation/android/reference/com/… 我认为在写这个答案的时候它不存在。如果我没记错的话,他们添加了这个,所以你可以将它集成到片段中。 那么碎片仍然是要走的路吗?【参考方案2】:

地图片段

如果您想将地图添加到 Activity 类(不是片段)中,请使用它 因为它会创建一个嵌套的片段并且它是一团糟)。 如果您只想支持 android 版本,请使用 SupportMapFragment 低于 v12。

地图视图

如果要将地图添加到片段中,请使用它。 (你需要 将每个生命周期更新为 MapView)。

【讨论】:

您能否为此提供任何官方参考?

以上是关于我应该使用 MapView 还是 MapFragment的主要内容,如果未能解决你的问题,请参考以下文章

Android Maps v2 使用指南针旋转 mapView

无法让 MapView 放大当前位置 - SWIFT

Swift mapview图层蒙版裁剪/移动视图。我究竟做错了什么?

我是不是必须在我的 MKMapview 委托上实现 mapView:regionWillChangeAnimated:?

使用 MapView 快速从一个位置到另一个位置的路线

Android Studio 应用程序在触摸 MapView 时崩溃