android - 如何在 Google map Android 上找到 MyLocationButton?

标签 android google-maps google-maps-api-3 location-button

这就是我如何启用我的位置按钮,以便可以在 map 上单击它:

map.setMyLocationEnabled(true);

我的问题是,如何找到这个按钮并将其存储在一个变量中,以便根据我的应用程序的逻辑显示或不显示?谢谢!

最佳答案

你可以通过findViewWithTag("GoogleMapMyLocationButton")得到它在 MapFragment Root View 上。使用这样的代码:

public class MainActivity extends AppCompatActivity implements OnMapReadyCallback {
    ...
    private GoogleMap mGoogleMap;
    private MapFragment mMapFragment;
    private View mMyLocationButtonView = null;
    ...


    @Override
    public void onMapReady(GoogleMap googleMap) {
        mGoogleMap = googleMap;

        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            int locationPermission = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION);
            if (locationPermission != PackageManager.PERMISSION_GRANTED) {
                requestPermissions(new String [] {Manifest.permission.ACCESS_FINE_LOCATION}, LOCATION_PERMISSION_REQUEST_CODE);
            } else {
                mGoogleMap.setMyLocationEnabled(true);
                mGoogleMap.getUiSettings().setMyLocationButtonEnabled(true);
                mMyLocationButtonView = mMapFragment.getView().findViewWithTag("GoogleMapMyLocationButton");
                mMyLocationButtonView.setBackgroundColor(Color.GREEN);
            }
        }
    }
}

你会得到类似的东西:

MyLocationButton with custom background

关于android - 如何在 Google map Android 上找到 MyLocationButton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55222960/

相关文章:

android - 如何监控android中的浏览内容?

javascript - 谷歌地图 API |当外面很黑时(取决于时间)如何更改 map 样式(复古到夜间模式)?

android - 检查输入时间在android中的两个时间范围之间

ios - 为什么当尝试在 Google API 中使用 iOS 的 Place Autocomplete 时,只得到 5 个结果而不是更多?

ios - 在 iPhone 的 safari 中通过应用程序打开谷歌地图

django - Google Maps Geolocation API 调用在网络服务器上而非本地返回无效请求

javascript - 从 Bokeh Google map 包装器调用 Javascript 方法 (fitBounds())

android - 使用 Android Google Maps API 显示热图图层

android - 取消选中 Android 中的所有复选框

java - Java 中的池类是什么?