如何使用Android在google maps API中平滑地设置标记的动画效果?

时间:2018-03-21 10:38:48

标签: android google-maps

我设法在地图上显示当前位置的标记,每次我移动相机都跟着我。我每1000毫秒得到一个设备当前位置,如下所示:

LatLng startPosition

当我在车内使用我的应用程序时,我当前的位置更新不像谷歌地图应用程序那样动画,是从一个点跳到另一个点。

当前位置发生变化时,如何获得平滑动画?我对使用LatLng destinationprivate void moveCamera(LatLng latLng, float zoom) { mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, zoom)); } 的方法不感兴趣,我只想在移动时获得良好的用户体验。

这个帮我移动相机的方法:

{{1}}

2 个答案:

答案 0 :(得分:0)

请尝试使用以下代码为相机设置动画:

CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(latLng, zoom);
        if(mMap != null) {
            mMap.animateCamera(cameraUpdate);
        }

答案 1 :(得分:0)

试试这个方法

mMap.setOnCameraIdleListener(new GoogleMap.OnCameraIdleListener() {
                @Override
                public void onCameraIdle() {
                    CameraPosition position = mMap.getCameraPosition();
                     mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(mCurrentLatitude, mCurrentLongitude), 12.0f));
                }
            });