如何在谷歌地图iOS Sdk中拖动圆形视图

时间:2013-12-18 10:50:42

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

我正在我的iPhone项目中使用Google Map iOS sdk。我附上了一个带有这个问题的图像,我可以将圆圈但不能将圆圈从一个位置拖动到另一个位置。我正在使用以下代码绘制一个圆圈。我需要查看图像显示,还需要拖动圆形区域。请帮助我

CLLocationCoordinate2D circleCenter = CLLocationCoordinate2DMake(-33.85, 151.20);
GMSCircle *circ = [GMSCircle circleWithPosition:circleCenter
                                         radius:1000];
circ.fillColor = [UIColor grayColor];
circ.strokeColor = [UIColor redColor];
circ.strokeWidth = 5;
circ.map = mapView;

enter image description here

2 个答案:

答案 0 :(得分:2)

我调查了几个小时,但到目前为止还没有找到直接解决方案。但是,我找到了实现这一目标的方法。解决方案是清除圆圈并在拖动时重新绘制新圆圈。

如果在GMSMaker周围绘制一个圆,则可以实现拖动圆以实现拖动标记时调用的委托方法:

 -(void)mapView:(GMSMapView *)mapView didDragMarker:(GMSMarker *)marker {
     [mapView clear];

     // Re-draw marker
     marker.map = mapView;

     // Create your circle with the new marker
     GMSCircle *circ = [GMSCircle circleWithPosition:marker.position radius:1000];
     circ.fillColor = [UIColor grayColor];
     circ.strokeColor = [UIColor redColor];
     circ.strokeWidth = 5;
     circ.map = mapView;
 }

编辑:

请注意,[mapView clear]会清除所有叠加层(包括制作者)。有时它可能不是一个好的解决方案。

答案 1 :(得分:0)

如果你有固定的半径。在photoshop中创建图像。将其分配给标记。并将属性设置为标记的draggle。因此,您现在可以根据需要拖动标记。