【问题标题】:Resize, drag and scale GMSCircle in Google map objective-c在谷歌地图objective-c中调整、拖动和缩放GMSCircle
【发布时间】:2017-03-23 14:19:23
【问题描述】:

大家好,在谷歌地图中我需要显示一个圆圈,用户可以调整它的大小、缩放和拖动它,之后我需要找到圆圈的半径和中心纬度和经度。我怎样才能做到这一点?

【问题讨论】:

    标签: ios objective-c iphone google-maps google-maps-sdk-ios


    【解决方案1】:

    对于Tappable GMSCircle集

    googleMapCircle.tappable = true;
    

    并且要实现可拖动的圆圈需要添加谷歌地图didTapOverlay的委托方法:

    - (void)mapView: (GMSMapView*)mapView
    didChangeCameraPosition: (GMSCameraPosition*)position
    {
       //set GMSCameraPosition to  googleMapCircle position
        googleMapCircle.position=position.target;
    
    }
    

    用于在滑块值更改时调整 GMSCircle 大小 在滑块值更改方法中添加以下代码:

    - (IBAction)sliderValueChnage:(id)sender {
    
      _slider = (UISlider*)sender;
        NSLog(@"slider value = %f", _slider.value);
    
        int radius=(int)_slider.value;
         _lblRadius.text=[NSString stringWithFormat:@"%d m",radius];
    
    
    //For achieve circle radius increase or decrease properly ,first clear map view 
        [_googleMap clear];
    
    //Set centre coordinate  where you want to draw circle
    CLLocationCoordinate2D circleCenter = CLLocationCoordinate2DMake(_locationManager.location.coordinate.latitude, _locationManager.location.coordinate.longitude);
    
    // Draw circle on google map
        GMSCircle *googleMapCircle = [GMSCircle circleWithPosition:circleCenter
                                                 radius:_slider.value];
        googleMapCircle.fillColor = [[UIColor purpleColor] colorWithAlphaComponent:.4f];
        googleMapCircle.strokeColor = [UIColor purpleColor];
        googleMapCircle.strokeWidth = 5;
        googleMapCircle.tappable=YES;
        googleMapCircle.map = _googleMap;
    
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-03
      • 1970-01-01
      • 2012-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多