Kotlin应用程序中的地理位置按钮不可用

问题描述 投票:0回答:1

我正在尝试创建一个可以获取您的位置并同时保存标记的地图应用程序。

但是我在尝试同时添加FloatingButton时遇到了麻烦。

这是我的content_main.XMLLoactionButton和以前的.XML是:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.google.android.material.appbar.AppBarLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
            <androidx.appcompat.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary">
                <RelativeLayout
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_weight="13"
                    android:orientation="horizontal"
                    android:gravity="center_vertical">
                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="@string/app_name"
                        android:textColor="#FFFFFF"
                        style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"/>
                </RelativeLayout>
            </androidx.appcompat.widget.Toolbar>
    </com.google.android.material.appbar.AppBarLayout>
</LinearLayout>

我已经用LinearLayout替换了RelativeLayout元素,因为尝试在FloatingButton中使用content_main.xml我得到了next。 .xml图像上一个是:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.google.android.material.appbar.AppBarLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary">
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="13"
                android:orientation="horizontal"
                android:gravity="center_vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/app_name"
                    android:textColor="#FFFFFF"
                    style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"/>
            </LinearLayout>
        </androidx.appcompat.widget.Toolbar>
    </com.google.android.material.appbar.AppBarLayout>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:layout_marginTop="180dp"
        android:backgroundTint="#FFF"
        android:clickable="true"
        android:focusable="true"
        app:fabSize="normal">
    </com.google.android.material.floatingactionbutton.FloatingActionButton>

</LinearLayout>

[因此在google中搜索了许多示例,我发现有些人使用RelativeLayoutFloatingButton放在主要内容中。我决定更改为RelativeLayout,但是LocationButton无法像this一样使用,前一个.xml是下一个,并且是实际的:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.google.android.material.appbar.AppBarLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
        <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary">
            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_weight="13"
                android:orientation="horizontal"
                android:gravity="center_vertical">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/app_name"
                    android:textColor="#FFFFFF"
                    style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"/>
            </LinearLayout>
        </androidx.appcompat.widget.Toolbar>
    </com.google.android.material.appbar.AppBarLayout>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:layout_marginTop="180dp"
        android:backgroundTint="#FFF"
        android:clickable="true"
        android:focusable="true"
        app:fabSize="normal">
    </com.google.android.material.floatingactionbutton.FloatingActionButton>

</RelativeLayout>

[我搜索了很多示例,并修改了content_main.xml,但是我没有解决方案将位置按钮与FloatingButton一起放置。

如何在我的实际FloatingButton上添加LocationButton

编辑:这是我的ButtonLocation

 override fun onMapReady(googleMap: GoogleMap) {
        mMap = googleMap //Princiapal Map Variable
        mMap.setOnMarkerClickListener(this) //Location Marker
        mMap.uiSettings.isZoomControlsEnabled = true //Zoom in maps enabled
        mMap.uiSettings.isMyLocationButtonEnabled = true

        setUpMap() //Function to detect actual location
    }
android android-studio kotlin android-linearlayout android-relativelayout
1个回答
0
投票

您已经有东西了。红色的浮动按钮位于地图顶部,这是您想要的。要查看Google的位置按钮(通常在左上角),您需要发出:

mMap.setMyLocationEnabled(true);
mMap.getUiSettings().setMyLocationButtonEnabled(true);
© www.soinside.com 2019 - 2024. All rights reserved.