2012-11-22 32 views
0

我嘗試在ViewPageIndicator庫的TabPageIndicator中顯示MapView。 要在片段中使用MapView,我正在使用android-support-v4-r10.googlemaps.jar。Android MapView在ViewPagerIndicator中沒有縮放/平移功能

到目前爲止,我可以顯示MapView,但它不會對Touch-Events做出反應。我不能縮放或平移...

我MapFragment:

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    root = (View) inflater.inflate(R.layout.training_map, container, false); 
    mapViewContainer = (ViewGroup) root.findViewById(R.id.map_container); 
    return root; 
} 

@Override 
public void onActivityCreated(Bundle bundle) { 
    super.onActivityCreated(bundle); 
    LoggingHelper.i("", "onActivityCreated"); 

    initTextViews(); 
    mapView = ((TrainingActivity) getActivity()).getMapView(); 
    //Zeigt einen blauen Punkt am derzeitigen Standort an 
    locationOverlay = new MyLocationOverlay(getActivity(), mapView); 
    locationOverlay.runOnFirstFix(new Runnable() { 
     @Override 
     public void run() { 
      if(mapController != null){ 
       mapController.animateTo(locationOverlay.getMyLocation()); 
      } 
     } 
    }); 
    locationOverlay.enableMyLocation(); 
    mapViewContainer.addView(mapView); 

} 

的XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/tracking_maps_main_container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:visibility="visible" > 
    <LinearLayout 
     android:id="@+id/map_container" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" > 
    </LinearLayout> 

    <ImageButton 
     android:id="@+id/imageButton1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:onClick="onClickLock" 
     android:src="@android:drawable/ic_lock_lock" /> 

</RelativeLayout> 

FragmentActivity:

   ... 
     //Paging Initialisieren 
    adapter = new TrainingFragmentAdapter(getSupportFragmentManager(), fragments); 
    viewPager = (ViewPager) findViewById(R.id.pager); 
    viewPager.setAdapter(adapter); 
    pageIndicator = (TabPageIndicator) findViewById(R.id.indicator); 
    pageIndicator.setViewPager(viewPager); 
      ... 

    public MapView getMapView(){ 
    if(mapView == null){ 
     mapView = new MapView(this, "my-googlemaps-key..."); 
    } 
    return mapView; 
} 

回答

0

我相信MapView.setClickable()的默認值是假的。

嘗試以下操作:

if(mapView == null){ 
    mapView = new MapView(this, "my-googlemaps-key..."); 
    mapView.setClickable(true); //add this line 
} 

問候。

+0

感謝這工作! – iTamp

相關問題