如何在谷歌地图中拖动标记

2 google-maps ios google-maps-sdk-ios ios7

我在我的应用程序中使用谷歌地图。我正在使用单个标记。我想要两件事

  1. 当我点击地图上的任何位置时,我的标记应该自动动画到该位置。我在这方面很成功。

  2. 当我长按标记时,它应该会随着我的触摸而动画化并移动。当我释放触摸时,它应该拖到那里。

我在第二种情况下遇到问题。我已将标记的可拖动属性设置为 true。没有写其他代码。当我长按它时,而不是标记,整个地图连同地图向上移动,然后标记根据我的触摸移动。当我松开触摸整个地图时,标记会稍微向下移动。

请问有什么建议吗?

bis*_*sma 5

在 GMSMapDelegate 中,这些是与拖动相关的方法。

   - (void)mapView:(GMSMapView *)mapView didBeginDraggingMarker:(GMSMarker *)marker;
    - (void)mapView:(GMSMapView *)mapView didEndDraggingMarker:(GMSMarker *)marker;
    - (void)mapView:(GMSMapView *)mapView didDragMarker:(GMSMarker *)marker;
Run Code Online (Sandbox Code Playgroud)

但是您需要设置标记可拖动。默认情况下,标记不可拖动。

marker.draggable=YES;
Run Code Online (Sandbox Code Playgroud)

在开始拖动之前,您必须按住标记。