【问题标题】:How to drag marker in google maps如何在谷歌地图中拖动标记
【发布时间】:2014-05-22 05:48:00
【问题描述】:

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

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

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

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

有什么建议吗?

【问题讨论】:

  • 升级到 1.6+ 并使用委托权限。页面上有显示您问题的示例代码。

标签: ios google-maps ios7 google-maps-sdk-ios


【解决方案1】:

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

   - (void)mapView:(GMSMapView *)mapView didBeginDraggingMarker:(GMSMarker *)marker;
    - (void)mapView:(GMSMapView *)mapView didEndDraggingMarker:(GMSMarker *)marker;
    - (void)mapView:(GMSMapView *)mapView didDragMarker:(GMSMarker *)marker;

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

marker.draggable=YES;

您必须按住标记才能开始拖动。

【讨论】:

  • 您必须按住标记片刻这一事实是关键,并且在 Google 的文档中缺失(据我所知)
【解决方案2】:

我还在谷歌地图中实现了这个可拖动标记的功能。

现在,根据您上面提到的 2 点,在长按和释放时带有标记的地图的上下移动,这是谷歌地图库的内置功能。 我认为地图沿标记的上下移动是为了在用户长按o标记时清楚地向用户显示完整的标记。

有时,标记图标很小,长按时可以被手指隐藏,我们看不到要拖动和放置到另一个位置的标记。

为避免此类问题,谷歌地图添加了此功能。

【讨论】:

  • 这是谷歌??‍♂️
猜你喜欢
  • 2014-08-28
  • 2016-04-10
  • 2012-08-07
  • 2011-08-07
  • 2016-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多