6

画面の隅にGoogleマップビューがあります。マップインターフェイスのボタンを使用して全画面表示にし、次に同じボタンを使用して再び小画面にするイベントを追加したいと思います。何か案は??

Android v4.0.4 Google Map API V2

4

2 に答える 2

3

あなたは2つの方法でこれを行うことができます:

  1. Activityボタンを押すと開始され、フルスクリーンマップが含まれる新しいものを作成します。このアクティビティでは、元のに戻るのと同じボタンを作成しますActivity

  2. MapFragment同じウィンドウで、プログラムでレイアウト幅を自分の長さに変更できます。

新しいアクティビティの読み込みで画面がちらつくのを避けるため、2番目のオプションの方が適しています。

アップデート:

ここでの2番目のオプションに関しては、地図を拡大するために私が書いたコードです。地図をクリックして、これが役立つかどうかを確認してください。

 @Override
 public void onMapClick(LatLng point) 
{
    LinearLayout mapFrameLayout = (LinearLayout)findViewById(R.id.mapFrameLayout);

    if (!isMapOpen)     
    {
        LinearLayout.LayoutParams fullMapParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
        if (!isDetailsOpen)
        {
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.hide(closedDetailsFragment).commit();
            mapFrameLayout.setLayoutParams(fullMapParams);
            isMapOpen = true;
            isDetailsOpenWhenOpenedMap = false;
        }
        else
        {
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            fragmentTransaction.hide(openedDetailsFragment).commit();
            mapFrameLayout.setLayoutParams(fullMapParams);
            isMapOpen = true;
            isDetailsOpenWhenOpenedMap = true;
        }
    }
    else
    {
        LinearLayout.LayoutParams defaultMapparams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 280);
        mapFrameLayout.setLayoutParams(defaultMapparams);
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        if (isDetailsOpenWhenOpenedMap)
        {
            fragmentTransaction.show(openedDetailsFragment).commit();               
        }
        else
        {
            fragmentTransaction.show(closedDetailsFragment).commit();
        }
        isMapOpen = false;
    }
}

ご覧のFrameLayoutとおり、マップが配置されている場所のサイズを変更すると、同じレイアウトでボタンを配置して、たとえば右上隅に配置できます。マップが伸びるとき、ボタンは同じ右上隅にあります。

于 2013-03-06T12:12:31.650 に答える
0

フルスクリーンマップとそこに必要なすべてのボタン/機能を使用してクリックで新しいアクティビティを開始します。インターネットの開始時にputExtraを使用して再取得されたパラメータを渡します(たとえば、位置座標)。

于 2013-03-06T12:05:55.260 に答える