在GoogleMaps,Android中禁用放大镜

时间:2019-04-08 07:17:14

标签: android google-maps android-fragments google-api

我正在使用Android开发应用程序,并使用GoogleMaps中的经度和纬度来显示位置。

我已经按照以下代码实现了地图:https://gist.github.com/joshdholtz/4522551

实施此操作后,我的手机屏幕如下所示:

phone screen

我确切不知道地图左侧的放大镜是什么,我想将其删除。

我已从地图上禁用了大多数UIsetting。

map = googleMap;
    map.getUiSettings().setMyLocationButtonEnabled(false);
    map.getUiSettings().setMapToolbarEnabled(false);
    map.getUiSettings().setZoomControlsEnabled(false);
    map.getUiSettings().setAllGesturesEnabled(false);
    map.getUiSettings().setCompassEnabled(false);
    map.getUiSettings().setIndoorLevelPickerEnabled(false);
    map.getUiSettings().setZoomControlsEnabled(false);

当我单击放大镜时,我得到一个例外:

 Process: com.itcom202.weroom, PID: 29587
java.lang.NullPointerException: Place Fields must be set.
    at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:889)
    at com.google.android.libraries.places.internal.dt.onClick(Unknown Source:4)
    at android.view.View.performClick(View.java:6256)
    at android.view.View$PerformClick.run(View.java:24701)
    at android.os.Handler.handleCallback(Handler.java:789)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6541)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

有人可以告诉我放大镜应该如何工作以及如何禁用它吗?我想只允许用户滚动和放大GoogleMaps片段。

这是google map片段xml:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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">

    <com.google.android.gms.maps.MapView
        android:id="@+id/mapview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

1 个答案:

答案 0 :(得分:1)

您可以从 onMapReady(GoogleMap googleMap)

调用此方法
googleMap.getUiSettings().setZoomGesturesEnabled(false);

继续编码:)