我用Latlngbound在地图v2上显示多个标记。当我点击其中一个标记时,我想让相机放大。

        private void loadCenter(){

        Builder boundsBuilder  = new LatLngBounds.Builder();
        for (int i=0;i<mmarker.saveMarker.size();i++)
        {
            boundsBuilder.include(mmarker.saveMarker.get(i));
        }
        LatLngBounds bounds = boundsBuilder.build();

          map.animateCamera(CameraUpdateFactory.newLatLngBounds(bounds, 60));
}

    @Override
    public boolean onMarkerClick(Marker mMarker) {
        // TODO Auto-generated method stub
        Toast.makeText(this, "MARKER CLICKED", Toast.LENGTH_LONG).show();
                CameraUpdate zoom=CameraUpdateFactory.newLatLngZoom(mMarker.getPosition(), 15);

                map.animateCamera(zoom);
        return false;
    }

我使用on marker click监听器来检测标记上的单击。方法中的吐司有效。但是相机就是不能放大,你知道为什么吗?谢谢您!

最佳答案

尝试:

            new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                getMap().animateCamera(CameraUpdateFactory.newLatLngZoom(mk.getPosition(), level));
            }
        }, 300);

我在实现类似的东西时遇到了同样的问题,并且注意到api在请求的定时方面有一些问题。这对我有效。

08-17 01:37