为了账号安全,请及时绑定邮箱和手机立即绑定

安卓 - 谷歌地图 - 平滑拖动标记

安卓 - 谷歌地图 - 平滑拖动标记

呼唤远方 2022-09-14 15:39:44
我正在尝试在地图活动上创建一个“选择位置”(就像谷歌地图应用程序中的那个,在选择方向的起点时)。基本上,我在地图的中心放了一个标记,然后在相机移动时重新定位它。问题是标记不能顺利移动(它口吃)。我尝试了一些关于堆栈溢出的解决方案,但没有一个有效。我的代码是这样的:    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);        }    });
查看完整描述

1 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

如果我正确理解了您的问题,您希望用户使用跟随相机位置的标记来选择位置。另外,您希望标记始终位于谷歌地图的中心。在这种情况下,您可以使用一个简单的技巧。在包含 Google 地图的布局顶部添加一个视图,并使其不可见(从工程资产中分配相应的图标)。每当用户想要选择一个位置时,请使其可见(它应该位于Google地图布局的中心)。由于我们可以访问地图的中心,因此一旦用户对位置感到满意并提交下一个操作,我们就可以继续使用地图中心的位置。在过程结束时,使“标记”不可见。

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


查看完整回答
反对 回复 2022-09-14
  • 1 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信