如何在GMSMapView上实现GMSMarker拖放?

时间:2014-03-10 07:39:59

标签: ios objective-c google-maps drag-and-drop google-maps-sdk-ios

  1. 我在google地图上设置了标记,但是当我拖动它时,所有地图都会拖动。

  2. 我想在点击并拖动

  3. 时拖动标记
  4. 并在点击并拖动标记外拖动地图。

  5. 这是我的代码

    self.camera = [GMSCameraPosition cameraWithLatitude:-33.86 longitude:151.20 zoom:6 bearing:0 viewingAngle:0];
    self.Map = [GMSMapView mapWithFrame:self.MapView.bounds camera:self.camera];
    self.Map.myLocationEnabled = YES;
    self.Map.delegate = self;
    
    GMSMarker *marker = [[GMSMarker alloc] init];
    marker.position = self.camera.target;
    marker.draggable = YES;
    marker.title = @"Sydney";
    marker.snippet = @"Australia";
    marker.map = self.Map;
    marker.icon = [GMSMarker markerImageWithColor:[UIColor blueColor]];
    marker.appearAnimation = kGMSMarkerAnimationPop;
    
    [self.MapView addSubview:self.Map];
    

    这是拖放事件

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

    当我运行我的应用程序并调试上述所有事件无效时。 但事件点击标记工作很好。

    我如何实现拖放?

1 个答案:

答案 0 :(得分:13)

在开始拖动之前,您必须按住标记。我认为它不起作用,直到有人指出这一点......真的需要在谷歌的文档中。