2014-05-22 52 views
1

我在我的應用中使用谷歌地圖。我正在使用一個標記。我想要兩件東西如何在谷歌地圖中拖動標記

  1. 當我點擊地圖上的任何位置時,我的標記應自動動畫到該位置。我在這方面取得了成功。

  2. 當我長時間點擊標記時,它應該動起來並隨​​着我的觸摸移動。當我釋放觸摸時,它應該拖到那裏。

我在第二種情況下有問題。我已將標記的可拖動屬性設置爲true。沒有別的代碼被寫入。當我長時間點擊它時,而不是標記,隨着地圖的整個地圖向上移動,然後標記移動到我的觸摸。當我釋放觸摸整個地圖以及標記稍微向下移動。

有什麼建議嗎?

+0

升級到1.6+並使用委託權。頁面上有示例代碼顯示您的問題。 –

回答

0

在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; 

你必須在標記開始拖動之前按下並按住標記。