繁体   English   中英

Android-Google Maps-平滑拖动标记

[英]Android - Google Maps - smoothly drag marker

我正在尝试在地图活动上创建“选择位置”(就像在选择路线的起点时在Google Maps应用程序中的位置一样)。

基本上,我在地图的中心放置了一个标记,然后在相机移动时将其重新放置。 问题是标记笔无法平稳移动(结巴)。 我尝试了一些关于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地图的中心。 在这种情况下,您可以使用一个简单的技巧。 在包含Google地图的布局顶部添加一个视图,并使该视图不可见(从项目资产中分配相应的图标)。 每当用户想要选择位置时,使其可见(该位置应位于您的Google地图布局的中心)。 由于我们可以访问地图中心,因此一旦用户满意该位置并提交下一个动作,我们就可以向前移动地图中心的位置。 在该过程结束时,使“标记”不可见。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM