can't get my location and location button not show

☆樱花仙子☆ 提交于 2019-12-22 07:58:51

问题


after i make drawer menu and floating button why my maps can't get my location and location button not show, and why the search place button when it clicked so that force stop? before i add drawer menu and floating button, it's all okay..
Before
After

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    tools:context="com.emergency.MainActivity"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/drawerLayout">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fitsSystemWindows="true">
            <android.support.v7.widget.Toolbar
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:id="@+id/toolbar">
            </android.support.v7.widget.Toolbar>
        </android.support.design.widget.AppBarLayout>
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:fab="http://schemas.android.com/apk/res-auto"
            android:background="@color/background"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <include layout="@layout/activity_maps"/>

            <com.getbase.floatingactionbutton.FloatingActionsMenu
                android:id="@+id/multiple_actions"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                fab:fab_addButtonColorNormal="@color/white"
                fab:fab_addButtonColorPressed="@color/white_pressed"
                fab:fab_addButtonPlusIconColor="@color/half_black"
                fab:fab_labelStyle="@style/menu_labels_style"
                android:layout_marginBottom="50dp"
                android:layout_marginRight="16dp"
                android:layout_marginEnd="16dp">

                <com.getbase.floatingactionbutton.FloatingActionButton
                    android:id="@+id/action_a"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    fab:fab_colorNormal="@color/white"
                    fab:fab_title="Tambal Ban"
                    fab:fab_colorPressed="@color/white_pressed"
                    fab:fab_size="mini"/>
                <com.getbase.floatingactionbutton.FloatingActionButton
                    android:id="@+id/action_b"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    fab:fab_colorNormal="@color/white"
                    fab:fab_title="ATM"
                    fab:fab_colorPressed="@color/white_pressed"
                    fab:fab_size="mini"/>
                <com.getbase.floatingactionbutton.FloatingActionButton
                    android:id="@+id/action_c"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    fab:fab_colorNormal="@color/white"
                    fab:fab_title="WC Umum"
                    fab:fab_colorPressed="@color/white_pressed"
                    fab:fab_size="mini"/>

            </com.getbase.floatingactionbutton.FloatingActionsMenu>

        </RelativeLayout>
    </LinearLayout>

    <android.support.design.widget.NavigationView
        android:id="@+id/navigationView"
        android:layout_width="280dp"
        android:layout_height="match_parent"
        app:headerLayout="@layout/header_menu"
        app:menu="@menu/menu_navigasi"
        android:layout_gravity="start">
        <!--perintah buat nampilin menu utama kemudian bisa di slide yang ada menu adalah yang layout_gravity-->


    </android.support.design.widget.NavigationView >
</android.support.v4.widget.DrawerLayout>

activity_maps.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">

    <LinearLayout
        android:id="@+id/header_tempat"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        tools:context="com.emergency.MapsActivity" />
    </LinearLayout>
    <Button
        android:id="@+id/Bsearch"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ff4081"
        android:src="@android:drawable/ic_dialog_map"
        android:text="Search Place"
        android:textColor="#fff"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:onClick="onSearch"
        />

</RelativeLayout>

回答1:


For some reason SupportMapFragment does not show my location button (or compass icon) when its placed inside <DrawerLayout> (<- as a root view), but there is a solution:

Put the whole <DrawerLayout> in <RelativeLayout> and remove <include> and just put whole activity_maps.xml in activity_main. Also to make it look better I would recommend moving activity_maps.xml and make a fragment from it, and then instead of <include> you would have:

<fragment
    android:id="@+id/map_fragment"
    class="com.yourpackage.MapFragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

You will have separated logic only for map in the fragment, an all activity stuff in activity. And we all know that MainActivity tends to grow over time for many reasons ;)



来源:https://stackoverflow.com/questions/36985787/cant-get-my-location-and-location-button-not-show

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!