2013-03-12 3 views
0

это аналогичный вопрос: MapFragment in Action Bar Tabs, но я не понял ясного ответа. Я новичок в Android, и это мое первое приложение Im develop.Реализация панели действий для работы с созданием MapFragment

В настоящее время у меня есть одна MainActivity, которая создает MapFragment для Google Maps v2. и отображает карту под ActionBar, как показано in this screenshot

Моя цель состоит в том, чтобы реализовать вкладки (не используя FragmentActivity с или библиотеку поддержки, как мое приложение minSdkVersion=11) для MainActivity в Eclipse, который в настоящее время создает MapFragment для Google Maps v2.

MainActivity.java фрагмент

public class MainActivityextends Activity 
implements LocationListener, LocationSource, OnMarkerClickListener, OnInfoWindowClickListener { 
    private static GoogleMap googleMap; 

    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.map); 
     actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); //Change to Tab mode 
     .... 
     googleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap(); 


map.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" > 

    <include 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    layout="@layout/map_fragment" /> 
</LinearLayout> 


map_fragment.xml

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:map="http://schemas.android.com/apk/res-auto" 
android:id="@+id/map" 
android:name="com.google.android.gms.maps.MapFragment" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
map:cameraTargetLat="53.78513542767" 
map:cameraTargetLng="-3.14948167651" 
map:cameraZoom="14" /> 


Eclipse, создает вкладки для вас с помощью процесса, используя библиотеку поддержки, так что это дало мне ошибку (ниже) при использовании MapFragment и я вернулся обратно, чтобы не с помощью вкладок. Причина этого, я думаю, here

Caused by: java.lang.ClassCastException: com.google.android.gms.maps.MapFragment cannot be cast to android.support.v4.app.Fragment 

мне нужно использовать вкладки, как в настоящее время только одна страницы/деятельность была разработана и мне нужна способ отображения фильтров для пользователя, а также карта. Пользователь переключится на соседнюю вкладку для редактирования фильтров и сможет вернуться на вкладку «Карта», где фильтры будут подхвачены и изменятся маркеры на карте.

Так что короткий вопрос - это простой способ для меня выполнить вкладки для моего MainActivity.java? Если это разве ясно спросите меня специфику, но это очень сложная для меня

ответ

0

попробовать использовать SupportMapFragment вместо MapFragment:

map.xml

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:map="http://schemas.android.com/apk/res-auto" 
android:id="@+id/map" 
android:name="com.google.android.gms.maps.SupportMapFragment" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
map:cameraTargetLat="53.78513542767" 
map:cameraTargetLng="-3.14948167651" 
map:cameraZoom="14" /> 
Смежные вопросы