如何在GMSMapView中显示一个圆

我需要在GMSMapView上显示一个圆(与MKCircle一样)。 使用MKMapView和MKCircle时,这很容易,但不能在GMSMapView中使用MKCircle。 有任何想法吗?

更新:
这是目前(18.03.2013)的选项:
1.包含圆形图像的地面标记。
来自“现代汉英综合大词典”由多段(折线)组成的一个圆

编辑:
3. Google增加了一个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]; 

对于40×40像素的圆形图像,它看起来不错。 (半径大约100米)

小分段path解决scheme:

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

编辑:08.05.2013

GMSCircle解决scheme:

  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; 

目前SDK不支持圈子,但有一个function要求在这里添加圈子:

https://code.google.com/p/gmaps-api-issues/issues/detail?id=4971

在此期间,你也许可以通过画几条短折线来制作一个圆圈?

这个问题已经过了一年多了,但是Google的search引导了我,所以我想我会更新这个。 后人4TW!

现在有一个GMSCircle可以做,据我所知,几乎所有的MKCircle都可以。
Google的GMSCircle文档 。

 // Build a circle for the GMSMapView GMSCircle *geoFenceCircle = [[GMSCircle alloc] init]; geoFenceCircle.radius = 130; // Meters geoFenceCircle.position = SOME_CLLOCATION.coordinate; // Some CLLocationCoordinate2D position geoFenceCircle.fillColor = [UIColor colorWithWhite:0.7 alpha:0.5]; geoFenceCircle.strokeWidth = 3; geoFenceCircle.strokeColor = [UIColor orangeColor]; geoFenceCircle.map = mapView; // Add it to the map. 

它的行为与MKCircle(叠加)非常相似,因为它会根据地图的缩放级别进行调整。请忽略中心的蓝色圆圈。 那就是地图视图中显示的用户位置,而且我刚刚使用了与GMSCircle中心点相同的坐标。

超级简单。 看看图片:

一个缩放级别: 在这里输入图像说明

在这里,我们缩小了一下: 在这里输入图像说明