【问题标题】:MapView in Fragment ( Android 4.0 or higher)片段中的 MapView(Android 4.0 或更高版本)
【发布时间】:2012-03-31 19:41:47
【问题描述】:

我一直在寻找一个很好的教程,其中包含 ICS 片段中 MapView 的代码示例。

谁有链接?

【问题讨论】:

    标签: android android-mapview fragment


    【解决方案1】:

    Here is a book's sample application 展示了如何在 API 级别 11+ 应用程序中的 Fragment 中拥有 MapView。它主要只是一个MapActivity。以下是加载MapView 的片段的关键位:

    public class MapFragment extends Fragment {
      private MapView map=null;
      private MyLocationOverlay me=null;
    
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
                                Bundle savedInstanceState) {
        return(new FrameLayout(getActivity()));
      }
    
      @Override
      public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
    
        map=new MapView(getActivity(), "0mjl6OufrY-tHs6WFurtL7rsYyEMpdEqBCbyjXg");
        map.setClickable(true);
    
        map.getController().setCenter(getPoint(40.76793169992044,
                                                -73.98180484771729));
        map.getController().setZoom(17);
        map.setBuiltInZoomControls(true);
    
        Drawable marker=getResources().getDrawable(R.drawable.marker);
    
        marker.setBounds(0, 0, marker.getIntrinsicWidth(),
                                marker.getIntrinsicHeight());
    
        map.getOverlays().add(new SitesOverlay(marker));
    
        me=new MyLocationOverlay(getActivity(), map);
        map.getOverlays().add(me);
    
        ((ViewGroup)getView()).addView(map);
      }
    
      // rest of fragment here
    }
    

    【讨论】:

    • 感谢您的回答...但是,我的活动必须是地图活动吗?我目前有一个包含三个片段的活动,其中一个 id 喜欢显示地图
    • @hermann:“但是,我的活动必须是地图活动吗?” -- 是的,MapView 要求其托管活动为MapActivity。 “我目前有一个包含三个片段的活动,其中一个 id 喜欢显示地图”——仅仅因为它是 MapActivity 并不意味着它可以显示的 only 东西是MapView。这应该可以正常工作。
    • 当我尝试实现相同的 12-03 03:22:36.903: E/dalvikvm(12866): 找不到类 'com.google.android.maps.MapView ',引用自方法 com.m7.nomad.MapsFragment.onActivityCreated
    • @SureshC:很可能,您的清单中的正确位置没有 <uses-library> 元素。
    • @SureshC:我建议您先花时间独立于地图学习片段,然后(并且只有这样)担心将它们与地图一起使用。
    【解决方案2】:

    我在这里MapView in a Fragment (Honeycomb)回答了同样的问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-26
      • 2014-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-30
      • 1970-01-01
      • 2012-11-13
      相关资源
      最近更新 更多