当动态添加标记时,Google地图工具栏没有显示。

3

我正在尝试在谷歌地图上实现Map ToolBar。我已经编写了以下代码,但是toolbar没有显示。我参考了这个链接。请问我的代码哪里出错了?代码如下:

 if (isGooglePlayServicesIsInstalled(getActivity())) {
   googleMap = mapFragment.getMap();
   MarkerOptions marker = new MarkerOptions().position( new LatLng(15.4989, 15.4989)).title("title");
   googleMap.addMarker(marker).showInfoWindow();
   googleMap.getUiSettings().setMapToolbarEnabled(true);
   }


   @Override
public boolean onMarkerClick(final Marker marker) {
    googleMap.getUiSettings().setMapToolbarEnabled(false);
    googleMap.getUiSettings().setMapToolbarEnabled(true);
    googleMap.getUiSettings().setCompassEnabled(true);
    }

谷歌播放gradle:compile 'com.google.android.gms:play-services:6.5.87'

此代码是用于在Android应用程序中添加谷歌服务的Gradle依赖项。

1
你需要手动添加所需的工具,例如:
  1. googleMap.getUiSettings().setMyLocationButtonEnable(true);
  2. googleMap.getUiSettings().<你想要的工具>;
- Nitin
我已将其添加为 googleMap.getUiSettings().setMapToolbarEnabled(true); - user4522568
仍然不起作用..我添加了 googleMap.getUiSettings().setMyLocationButtonEnabled(true); 它只显示了一个圆形指南针一次。然后它再也没有显示出来了。 - user4522568
你能否发布整个代码,包括Activity、XML和Manifest文件? - Nitin
3
只有在单击地图标记时才会显示工具栏。我在创建地图对象时启用了地图UI工具栏来实现这一点。 - TrueCoke
显示剩余2条评论
1个回答

4
据我所知,您似乎忘记了添加return false以使默认操作正常工作。请查看指南
以下是我的做法:
// add marker dynamically
lastScooterLocation = new LatLng(lastScooterLat, lastScooterLng);
lastScooterMarker = mMap.addMarker(new MarkerOptions()
            .icon(BitmapDescriptorFactory.fromResource(R.drawable.img_map_pin_normal))
            .anchor(0.0f, 0.0f)
            .position(lastScooterLocation)
            .draggable(false)
            .title(getString(R.string.strings_last_scooter_location)));

mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
        @Override
        public boolean onMarkerClick(Marker marker) {

            showBottomViewOf(BottomViewState.HIDE_ALL);
            mMap.getUiSettings().setMapToolbarEnabled(true);
            // return true will prevent any further map action from happening
            return false;

        }
    });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接