Java Android-谷歌地图-平滑拖动标记

Java Android-谷歌地图-平滑拖动标记,java,android,google-maps,Java,Android,Google Maps,我试图在地图活动中创建一个“选择位置”(就像谷歌地图应用程序中选择方向起点时的位置) 基本上,我把一个标记放在地图的中心,然后在相机上重新定位。 问题是标记移动不平稳(口吃)。我在stackoverflow上尝试了一些解决方案,但都不起作用 我的代码是: getGoogleMap().moveCamera(CameraUpdateFactory.newLatLngZoom( new LatLng(location.getLatitude(),

我试图在地图活动中创建一个“选择位置”(就像谷歌地图应用程序中选择方向起点时的位置)

基本上,我把一个标记放在地图的中心,然后在相机上重新定位。 问题是标记移动不平稳(口吃)。我在stackoverflow上尝试了一些解决方案,但都不起作用

我的代码是:

    getGoogleMap().moveCamera(CameraUpdateFactory.newLatLngZoom(
            new LatLng(location.getLatitude(),
                    location.getLongitude()), 14));
    LatLng target = getGoogleMap().getCameraPosition().target;

    chooseMarker = getGoogleMap().addMarker(new MarkerOptions()
            .position(target));
    getGoogleMap().setOnCameraMoveListener(new GoogleMap.OnCameraMoveListener() {
        @Override
        public void onCameraMove() {
            // Get the center of the Map.
            LatLng centerOfMap = getGoogleMap().getCameraPosition().target;

            // Update your Marker's position to the center of the Map.
            chooseMarker.setPosition(centerOfMap);


        }
    });

如果我正确理解了您的问题,那么您希望用户使用相机位置后面的标记来选择位置。此外,您希望标记始终位于谷歌地图的中心。在这种情况下,您可以使用一个简单的技巧。在包含google地图的布局顶部添加一个视图,并使其不可见(从项目资源中指定适当的图标)。当用户想要选择一个位置时,让它可见(它应该位于谷歌地图布局的中心)。因为我们可以访问地图的中心,一旦用户对位置满意并提交下一个操作,我们就可以继续使用地图中心的位置。在流程结束时,使“标记”不可见


尽管还有其他解决方案,但这可能非常简单和有效

听起来很棒!我要试试看!