如何让Google Mapview从较小的mapview变为全屏?

pro*_*etz 5 android google-maps

我在屏幕的一角有一个Google mapview.我想添加一个事件,通过地图界面上的按钮使其全屏显示,然后使用相同按钮再次显示小屏幕.有任何想法吗??

Android v4.0.4 Google Map API V2

Emi*_*Adz 3

你可以通过两种方式做到这一点:

  1. 创建一个新的Activity,按下按钮即可启动并包含全屏地图。在此活动中创建相同的按钮,它将带您返回到原来的Activity.

  2. 您可以MapFragment在同一窗口中以编程方式更改布局宽度和长度。

第二个选项会更好,因为您可以避免新活动加载时屏幕闪烁。

更新:

关于第二个选项,这里是我编写的代码,用于在地图上点击放大地图,看看这是否对您有帮助:

 @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;
    }
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我更改了地图所在位置的大小FrameLayout,您可以将按钮放入相同的布局中,并将其放置在右上角|右上角。当您的地图拉伸时,按钮仍将位于同一右上角。