2017-03-09 62 views
1

Google地圖 android應用程序允許使用兩個手指旋轉地圖。這適用於我遇到的大多數電話。但它不在三星Galaxy J3(低端手機,沒有磁力計)。MapFragment旋轉手勢不起作用 - 如何以編程方式確定

我假設沒有磁力計,地圖服務思想輪換的作者是無用的(我不同意)。所以我的問題是:

  1. 我正確地認爲這是設計?有沒有確認這個「功能」?
  2. 有沒有辦法覆蓋它並啓用旋轉呢?
  3. 如果不是,如何從java代碼(我使用MapFragment)確定是否旋轉手勢將工作?

爲了澄清我不是在談論旋轉設備(水平/垂直),而是兩個手指旋轉手勢。

此外,我知道

map.getUiSettings().setRotateGesturesEnabled(true)`. 

它沒有返回值和拋出也不例外,但旋轉手勢不工作。

+0

只想說,我這個裝置發現了這個問題了。有時它會以怪異的方式旋轉。我認爲圖書館或設備肯定有問題。谷歌自己的谷歌地圖應用程序也不起作用,所以我不認爲這是你可以在代碼中修復的東西,除非有一個神奇的解決方法。 – Nublodeveloper

+0

你說得對,它也出現在谷歌的應用中,儘管我認爲這是(壞)設計而不是錯誤。由於我無法糾正設計,所以我希望有方法來判斷旋轉是否會起作用,所以我可以減輕 – MateuszL

+0

那麼。我只是讓它不小心旋轉了。您可以通過使用兩個手指在相同方向上橫向旋轉。一個手指在另一個上面。就像當你做它改變到3D視圖一樣,但是橫向左或右而不是上下。奇怪的是地獄。 – Nublodeveloper

回答

0

試試這個:

SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.maps_fragment); 
    GoogleMap map = mapFragment.getMap(); 
    map.getUiSettings().setRotateGesturesEnabled(true); 
+0

我已經擁有這段代碼。 「它沒有返回任何值,並且不會拋出異常,但旋轉手勢不起作用。」 – MateuszL