Java Android Google地图更改缩放控件的位置并将相机设置为标记

时间:2019-05-15 07:49:48

标签: java android google-maps

我希望缩放控件位于中间的最上方,我试图做这样的事情,但它不起作用:

  SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().
                findFragmentById(R.id.map);
        View mapView = mapFragment.getView();
View zoom_in_button = mapView.findViewWithTag("GoogleMapZoomInButton");


RelativeLayout.LayoutParams location_layout = (RelativeLayout.LayoutParams) zoom_in_button.getLayoutParams();
        location_layout.addRule(RelativeLayout.CENTER_HORIZONTAL, 0);

我还需要得到这个:将视图居中,以便标记位于左下角

我这样做了,但是没用。

mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(currentPGO.getLatitude(), currentPGO.getLongitude()), 16));

2 个答案:

答案 0 :(得分:0)

据我所知,您无法更改“地图”控件,而只能将它们隐藏起来并使用自己的放大和缩小按钮。

map.getUiSettings().setZoomControlsEnabled(false);

,然后将按钮设置为相对布局或约束布局,并根据需要放置它们。

然后使它们放大和缩小

(来自Google Maps API的Android片段) https://developers.google.com/maps/documentation/android-sdk/views

CameraUpdateFactory.zoomIn() and CameraUpdateFactory.zoomOut()// give you a CameraUpdate that changes the zoom level by 1.0, while keeping all other properties the same.

答案 1 :(得分:0)

  1. 隐藏Google地图的默认缩放按钮

    mMap.uiSettings.isZoomControlsEnabled = false

  2. 为“放大”和“缩小”创建ImageView / Button小部件(在片段上方或居中位置将其对齐)

  3. 在Widget点击上调用以下方法:

    放大

    mMap.animateCamera(CameraUpdateFactory.zoomIn())

    缩小

    mMap.animateCamera(CameraUpdateFactory.zoomOut())

编辑:如果希望将标记放置在左下角,则需要计算新的LatLang值,该值应稍微位于所需位置的右上方和顶部,并相应地移动相机。例如,如果您的缩放级别为16,则使用如下代码:

BadCredentialsException