How to display a circle in GMSMapView
google-maps, google-maps-sdk-ios, ios
Solution
At the moment the SDK doesn't support circles, but there is a feature request to add circles here:
https://code.google.com/p/gmaps-api-issues/issues/detail?id=4971
In the meantime you could maybe fake a circle by drawing a polyline, with several short segments?
Problem
I need to display a circle (as with MKCircle) on a GMSMapView. This is easy when using a MKMapView and MKCircle, but can't use MKCircle with GMSMapView. Any ideas? Update: This are the current(18.03.2013) options: 1. A ground marker containing a circle image. 2. A a circle made with several segments (polyline). Edit: 3. Google added a GMSCircle (23.04.2013) ``` GMSGroundOverlayOptions *overlayOptions = [GMSGroundOverlayOptions options]; overlayOptions.icon = [UIImage imageNamed:@"circle"]; overlayOptions.position = touchMapCoordinate; overlayOptions.bearing = 0; overlayOptions.zoomLevel = 14.3; [mapView addGroundOverlayWithOptions:overlayOptions]; ``` For a circle image 40x40 pixels it looks ok. (radius is approximately 100 m) Small segmented path solution: ``` GMSPolylineOptions *circle = [GMSPolylineOptions options]; CGPoint touchPoint = [mapView.projection pointForCoordinate:touchMapCoordinate]; GMSMutablePath *path = [GMSMutablePath path]; CGPoint circlePoint; for (int i = 0; i < 360; i++) { circlePoint.x = touchPoint.x + radius * cos(i*M_PI/180); circlePoint.y = touchPoint.y + radius * sin(i*M_PI/180); CLLocationCoordinate2D aux = [mapView.projection coordinateForPoint:circlePoint]; [path addCoordinate:aux]; } circle.path = path; circle.width = 1; [mapView addPolylineWithOptions:circle]; ``` EDIT : 08.05.2013 GMSCircle solution: ``` CLLocationCoordinate2D circleCenter = CLLocationCoordinate2DMake(latitude, longitude); GMSCircle *circ = [GMSCircle circleWithPosition:circleCenter radius:1000]; circ.fillColor = [UIColor blueColor]; circ.strokeColor = [UIColor redColor]; circ.strokeWidth = 5; circ.map = mapView; ```