2013-07-07 2 views
0

У меня есть вкладка, и я хотел бы загрузить карту во фрагмент этой вкладки, но у меня есть некоторые ошибки, которые я не могу решить.Загрузка Google Maps v2 в фрагмент

это в моем

MainActivity extends FragmentActivity 

private void initViewPager() { 
//  SupportMapFragment mMapFragment; 
//  mMapFragment = ((SupportMapFragment) getSupportFragmentManager() 
//    .findFragmentById()); 
     // 0. creamos una lista de fragment (vistas) 
     List<Fragment> fragments = new ArrayList<Fragment>(); 
     //fragments.add(new TabChat()); 
     fragments.add(new TabMapa()); 
     //fragments.add(new TabInformacion()); 

     // 1. iniciamos el viewpager 
     this.mViewPager = (ViewPager) findViewById(R.id.viewpager); 

     // 2. creamos el adapter, que tambien implementara onPageChangeListener 
     PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager(), 
       fragments); 

     // 3. suscribimos adapter y listener del viewpager 
     this.mViewPager.setAdapter(adapter); 
     this.mViewPager.setOnPageChangeListener(adapter); 
    } 

TabMapa

public class TabMapa extends Fragment { 
private GoogleMap gmap; 


public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.tab_mapa); 
    initGMap(); 
} 


@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    View myFragmentView = inflater.inflate(R.layout.tab_mapa, 
      container, false); 
    initGMap(); 
    return myFragmentView; 
} 
private void initGMap() { 
    // obtenemos el mapa desde el fragment 
    gmap = ((SupportMapFragment) getSupportFragmentManager() 
      .findFragmentById(R.id.gmap)).getMap(); 
} 
    } 

XML файл

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    tools:context=".Mapa" > 

    <fragment 
     android:id="@+id/gmap" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     class="com.google.android.gms.maps.SupportMapFragment" /> 

</LinearLayout> 
+0

Какая ошибка? – Raghunandan

+0

ошибка в getSupportFragmentManager(), TabMap должна расширять FragmentActivity для ее решения, но если я расширяюсь из FragmentActivity, у меня есть ошибка при загрузке фрагмента, здесь fragments.add (new TabMapa()); – lexell

ответ

0

Пробовали ли вы это?

import android.support.v4.app.FragmentActivity; 

Перед тем, как сделать это правой кнопкой мыши project-> свойства-> buildpath-> путь компоновки Java -> библиотеки .. Затем нажмите на добавить внешние банки

идти к

пользователя \ андроид-SDKs \ Extras \ Android \ поддержка \ v4

и выберите андроид-поддержка-v4.jar

+0

Да, я сделал это, проблема в том, что Tab, нужен фрагмент, а Map нужен FragmentActivity, я знаю, что могу решить его с помощью SupportMapFragment, но я не знаю, как мне его использовать, и где я должен его использовать – lexell