在弹出窗口中显示地图 v2 不在 android 中显示?

Display Map v2 in popup Window not display in android?(在弹出窗口中显示地图 v2 不在 android 中显示?)
本文介绍了在弹出窗口中显示地图 v2 不在 android 中显示?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想打开弹出窗口,我使用地图 v2 在弹出窗口中显示地图 v2 但未显示这里我放了我的 xml 布局和活动类

<块引用>

main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizo​​ntal_margin"android:paddingRight="@dimen/activity_horizo​​ntal_margin"android:paddingTop="@dimen/activity_vertical_margin"工具:context=".MainActivity" ><按钮android:id="@+id/按钮"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:layout_marginTop="100dp"android:text="按钮"/></相对布局>

<块引用>

popupstellodetailpage.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/popupplayout"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@android:color/black"android:orientation="垂直"><按钮android:id="@+id/按钮取消"android:layout_width="wrap_content"android:layout_height="wrap_content"安卓:文本=取消"机器人:layout_gravity="对"/><片段android:id="@+id/popupmapview"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_margin="10dp"class="com.google.android.gms.maps.SupportMapFragment"/></线性布局>

<块引用>

MapActivity.java

公共类 MainActivity 扩展 FragmentActivity {弹出窗口密码;谷歌地图;@覆盖protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);设置内容视图(R.layout.main);按钮按钮= (Button)findViewById(R.id.button);button.setOnClickListener(new OnClickListener() {@覆盖公共无效 onClick(查看 v){启动弹出窗口();}});}私人无效initialPopupWindow(){尝试{//我们需要获取LayoutInflater的实例,使用这个activity的上下文LayoutInflater inflater = (LayoutInflater) MainActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);//从预定义的 XML 布局膨胀视图查看布局 = inflater.inflate(R.layout.popupstellodetailpage,(ViewGroup) findViewById(R.id.popuplayout));//创建一个 300px 宽和 470px 高的 PopupWindowpw = new PopupWindow(布局, 300, 470, true);//在中间显示弹窗pw.showAtLocation(布局, Gravity.CENTER, 0, 0);地图=((SupportMapFragment)getSupportFragmentManager().findFragmentById(R.id.popupmapview)).getMap();按钮 buttoncancel=(Button)layout.findViewById(R.id.buttoncancel);buttoncancel.setOnClickListener(new OnClickListener(){@覆盖public void onClick(查看 v){pw.dismiss();}});}捕获(异常 e){e.printStackTrace();}}}

解决方案

他们只是我发现的两个愚蠢的问题..你只需改变这个片段

 <片段android:id="@+id/popupmapview"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_margin="10dp"class="com.google.android.gms.maps.SupportMapFragment"/>

到这个..

 <片段android:id="@+id/popupmapview"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_margin="10dp"class="com.google.android.gms.maps.MapFragment"/>

并在方法 [initiatePopupWindow] 中更改一行

map= ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.popupmapview)).getMap();

到这个..

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

i want to open the popup window on that i used the map v2 for displaying map v2 in popup window but is not display here i put my xml layout and activity class

main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginTop="100dp"
        android:text="Button" />

</RelativeLayout>

popupstellodetailpage.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/popuplayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/black"
    android:orientation="vertical" >

        <Button
            android:id="@+id/buttoncancel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Cancel"
            android:layout_gravity="right"
             />

          <fragment
                    android:id="@+id/popupmapview"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_margin="10dp"
                    class="com.google.android.gms.maps.SupportMapFragment" />



</LinearLayout>

MapActivity.java

public class MainActivity extends  FragmentActivity {


     PopupWindow pw;
     GoogleMap map;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button button= (Button)findViewById(R.id.button);
        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                initiatePopupWindow();
            }
        });

    }


    private void initiatePopupWindow() 
    {
        try 
        {

            //We need to get the instance of the LayoutInflater, use the context of this activity
            LayoutInflater inflater = (LayoutInflater) MainActivity.this
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            //Inflate the view from a predefined XML layout
            View layout = inflater.inflate(R.layout.popupstellodetailpage,
                    (ViewGroup) findViewById(R.id.popuplayout));

            // create a 300px width and 470px height PopupWindow
            pw = new PopupWindow(layout, 300, 470, true);

            // display the popup in the center
            pw.showAtLocation(layout, Gravity.CENTER, 0, 0);


            map= ((SupportMapFragment) getSupportFragmentManager()
                     .findFragmentById(R.id.popupmapview)).getMap(); 


            Button buttoncancel=(Button)layout.findViewById(R.id.buttoncancel);
            buttoncancel.setOnClickListener(new OnClickListener() 
            {   
                @Override
                public void onClick(View v) 
                {
                     pw.dismiss();
                }

            });

        }
        catch (Exception e) 
        {
            e.printStackTrace();
        }


    }
}

解决方案

their is only two silly problem as I found .. You just change this fragment

                <fragment
                android:id="@+id/popupmapview"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_margin="10dp"
                class="com.google.android.gms.maps.SupportMapFragment" />

to this..

                <fragment
                android:id="@+id/popupmapview"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_margin="10dp"
                class="com.google.android.gms.maps.MapFragment" />

and change a line in method [initiatePopupWindow]

map= ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.popupmapview)).getMap(); 

to this..

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

这篇关于在弹出窗口中显示地图 v2 不在 android 中显示?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to target newer versions in .gitlab-ci.yml using auto devops (java 11 instead of 8 and Android 31 instead of 29)(如何在.gitlab-ci.yml中使用自动开发工具(Java 11而不是8,Android 31而不是29)瞄准较新的版本)
Android + coreLibraryDesugaring: which Java 11 APIs can I expect to work?(Android+core LibraryDesugering:我可以期待哪些Java 11API能够工作?)
How to render something in an if statement React Native(如何在If语句中呈现某些内容Reaction Native)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Using Firebase Firestore in offline only mode(在仅脱机模式下使用Firebase FiRestore)
Crash on Google Play Pre-Launch Report: java.lang.NoSuchMethodError(Google Play发布前崩溃报告:java.lang.NoSuchMethodError)