2012-03-31 35 views

Trả lời

8

Here is a book's sample application cho biết cách có một MapView trong một Fragment trong ứng dụng API cấp 11+. Phần lớn chỉ là MapActivity. Dưới đây là các bit quan trọng của đoạn đó tải 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 
} 
+1

cảm ơn cho câu trả lời ... Tuy nhiên, không hoạt động của tôi phải là một mapactivity? tôi curently có một hoạt động với ba mảnh, một trong số đó id muốn có hiển thị một bản đồ – hermann

+1

@hermann: "tuy nhiên, hoạt động của tôi có phải là một bản đồ?" - Có, 'MapView' yêu cầu hoạt động lưu trữ của nó là' MapActivity'. "Tôi curently có một hoạt động với ba mảnh, một trong số đó id muốn có hiển thị một bản đồ" - chỉ vì nó là một 'MapActivity' không có nghĩa là * chỉ * điều nó có thể hiển thị là một' MapView'. Điều này sẽ làm việc tốt. – CommonsWare

+0

Có lỗi sau khi tôi cố gắng triển khai cùng một 12-03 03: 22: 36.903: E/dalvikvm (12866): Không thể tìm thấy lớp 'com.google.android.maps.MapView', được tham chiếu từ phương thức com. m7.nomad.MapsFragment.onActivityCreated –

Các vấn đề liên quan