![](/img/trans.png)
[英]Start marker drag event as soon as marker is placed in 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.