2013-03-09 37 views
1

因此,我編程添加谷歌到我的應用程序,它工作得很好,但我想不出如何在地圖頂部添加按鈕或選項對於像切換地圖類型,位置搜索等。這裏是我當前的代碼:如何添加按鈕和複選框以編程方式添加谷歌地圖android v2

public class GoogleMaps extends FragmentActivity { 
    SupportMapFragment mMapFragment; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_google_maps); 

     mMapFragment = new SupportMapFragment(){ 
      @Override 
      public void onActivityCreated(Bundle savedInstanceState){ 
       super.onActivityCreated(savedInstanceState); 

       GoogleMap map = mMapFragment.getMap(); 
       map.setMapType(GoogleMap.MAP_TYPE_HYBRID); 
       map.setMyLocationEnabled(true); 

       if (map != null){ 
        UiSettings settings = map.getUiSettings(); 
        settings.setTiltGesturesEnabled(false); 

       } 
      } 
     };  
     getSupportFragmentManager().beginTransaction() 
     .add(android.R.id.content, mMapFragment).commit(); 

回答

3

我建議你把一個FrameLayout地圖在你的XML文件一起一邊用RelativeLayout/LinearLayout將重疊的地圖碎片通過將這些按鈕放入RelativeLayout/LinearLayout中,這將位於地圖的頂部。

像這樣:

<FrameLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" > 

    <fragment 
     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" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@drawable/corneredmap" > 
    </LinearLayout> 

</FrameLayout> 

另一種選擇,我認爲需要做更多的工作是創建自己的CustomMapFragment延伸SupportMapFragment並向其添加所需的按鈕。

+0

不幸的是,我不得不覈實谷歌地圖,因爲XML沒有工作,得到一個片段錯誤,我會嘗試創建一個自定義地圖片段和報告。 – 2013-03-12 06:11:05

+0

Welp,我只是再次嘗試了xml的地獄它神奇的它的工作,所以你已經幫助我超出你知道!希望我可以給你更多的互聯網點,謝謝一堆! – 2013-03-12 23:20:26

+1

@that_guy,您好,有一個很好的編碼。 – 2013-03-13 01:03:52

相關問題