在自定义对话框中显示地图

时间:2013-12-27 06:20:41

标签: android map

我正在开发一个需要在对话框中显示某些细节的地图的应用程序,因为我已经制作了自定义布局并使用了地图片段但是如何编写代码,意味着我对此一无所知,没有得到任何合适的教程或示例在对话框中显示地图。任何人都可以请我提供一些教程或代码。提前致谢。

这是我的custom_dialog.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/transparent" >

    <RelativeLayout
        android:id="@+id/relativeNavBar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/pop_up_header" >

        <TextView
            android:id="@+id/EditItem_MapTxtName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:textColor="@color/white"
            android:textSize="18sp" />
    </RelativeLayout>

    <LinearLayout
        android:id="@+id/relativeAutoComplete"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/relativeNavBar"
        android:layout_marginTop="20dp"
        android:orientation="vertical"
        android:paddingLeft="10dp"
        android:paddingRight="10dp" >

        <fragment
            android:id="@+id/map"
            android:name="com.google.android.gms.maps.MapFragment"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/EditItem_mapTxtDistance11"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:layout_weight="0.25"
                android:text="@string/distance"
                android:textColor="@color/black"
                android:textSize="16sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/EditItem_mapTxtDistance"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:layout_weight="0.75"
                android:ellipsize="end"
                android:singleLine="true"
                android:textColor="@color/greyish"
                android:textSize="14sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/EditItem_mapTxtAddress11"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:layout_weight="0.25"
                android:text="@string/address"
                android:textColor="@color/black"
                android:textSize="16sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/EditItem_mapTxtAddress"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:layout_weight="0.75"
                android:ellipsize="end"
                android:singleLine="true"
                android:textColor="@color/greyish"
                android:textSize="14sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/EditItem_mapTxtCity11"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:layout_weight="0.25"
                android:text="@string/city"
                android:textColor="@color/black"
                android:textSize="16sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/EditItem_mapTxtCity"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:layout_weight="0.75"
                android:ellipsize="end"
                android:singleLine="true"
                android:textColor="@color/greyish"
                android:textSize="14sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="5dp"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/EditItem_mapTxtZip11"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:layout_weight="0.25"
                android:text="@string/zip"
                android:textColor="@color/black"
                android:textSize="16sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/EditItem_mapTxtZip"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dp"
                android:layout_weight="0.75"
                android:ellipsize="end"
                android:singleLine="true"
                android:textColor="@color/greyish"
                android:textSize="14sp" />
        </LinearLayout>
    </LinearLayout>

</RelativeLayout>

3 个答案:

答案 0 :(得分:2)

您可以使用DialogFragment在对话框中显示地图,该地图将在自定义布局的对话框中显示地图。

查看Tutorial

答案 1 :(得分:2)

转到android DialogFragments:Android Dialog Fragment。你会得到你需要的东西到这个Android开发者博客。

答案 2 :(得分:1)

复制并享受!

            mDialogMaps = new Dialog(mContext);
            mDialogMaps.requestWindowFeature(Window.FEATURE_NO_TITLE);
            mDialogMaps.setContentView(R.layout.lay_dialog_map_location);
            mDialogMaps.setCancelable(true);

            WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
            Window window = mDialogMaps.getWindow();
            layoutParams.copyFrom(window.getAttributes());
            layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
            layoutParams.height = WindowManager.LayoutParams.MATCH_PARENT;
            window.setAttributes(layoutParams);

            TextView txtNoteMapTitle = (TextView) mDialogMaps.findViewById(R.id.txtNoteMapTitle);
            txtNoteMapTitle.setTypeface(G.fIranSansBold);

            mMapView = (MapView) mDialogMaps.findViewById(R.id.mapView);

            mMapView.onCreate(mDialogMaps.onSaveInstanceState());
            mMapView.onResume();


            mDialogMaps.show();