2014-02-08 78 views
1

我正在嘗試使用帶禁用縮放手勢等選項的Google地圖。我在下面的代碼中添加了GoogleMapOptions,就像我在網上看到的隨機源代碼一樣。問題在於它不起作用,我可以將所有縮放控件設置爲false,但在運行時似乎不會改變我的應用程序。使用GoogleMapOptions初始化MapFragment

private GoogleMap map; 

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

    GoogleMapOptions options = new GoogleMapOptions(); 
      options.zoomGesturesEnabled(false); 

    MapFragment.newInstance(options); 

     map = ((MapFragment) getFragmentManager() 
      .findFragmentById(R.id.map)).getMap(); 

有人可以告訴我我的代碼有什麼問題嗎?

回答

0

是的。這裏遵循的方向:https://developers.google.com/maps/documentation/android/map

我的代碼如下所示:

jGoogleMap = ((MapFragment) getFragmentManager().findFragmentById(
      R.id.map)).getMap(); 
    // jGoogleMap.getMyLocation(); 
    jGoogleMap.setMyLocationEnabled(true); 
    currentLatLng = new LatLng(jCurrentLocation.getLatitude(), 
      jCurrentLocation.getLongitude()); 

    jGoogleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(currentLatLng, 
      15)); 

    jGoogleMap.addMarker(new MarkerOptions().title("Current Location") 
      .position(currentLatLng)); 
    jGoogleMap.setOptions({ draggable: false, zoomControl: false, 
     scrollwheel: false, disableDoubleClickZoom: true}); 
+0

至於我可以告訴我的代碼如下這些指令。我試着移動片段管理器代碼下面的選項代碼,但它沒有效果。 – user2079483

2

使用

GoogleMapOptions options = new GoogleMapOptions(); 
      options.zoomGesturesEnabled(false); 

    MapFragment.newInstance(options); 

     map = ((MapFragment) getFragmentManager() 
      .findFragmentById(R.id.map)).getMap(); 

你可以得到GoogleMap對象的UISettings並根據您的需要和他們一起玩而不是。 例如,如果要禁用縮放手勢,你可以簡單的的GetMap()函數之後添加:

map.getUiSettings().setZoomGesturesEnabled(false); 

以同樣的方式,你也可以禁用默認縮放控件(「+」和「 - 「按鈕來放大和縮小):

map.getUiSettings().setZoomControlsEnabled(false); 

和管理其他典型的GoogleMaps相互作用(北斗控制,傾斜,滾動和旋轉的相互作用)。

而且可以禁用所有曾與

map.getUiSettings().setAllGesturesEnabled(false); 

需要注意的是,如果你在一個ViewPager地圖的片段,與: mMap.getUiSettings()setScrollGesturesEnabled(假); 您可以讓左側和右側滾動到PagerAdapter,而不是讓它們具有地圖滾動的效果。

問候, 安德烈