Solución:
Aquí hay un código rápido para dibujar un círculo en un radio específico en millas
let circleCenter : CLLocationCoordinate2D = CLLocationCoordinate2DMake(centerLattitude, centerLongitude);
let circ = GMSCircle(position: circleCenter, radius: distanceInMile * 1609.34)
circ.fillColor = UIColor(red: 0.0, green: 0.7, blue: 0, alpha: 0.1)
circ.strokeColor = UIColor(red: 255/255, green: 153/255, blue: 51/255, alpha: 0.5)
circ.strokeWidth = 2.5;
circ.map = self.googleMapView;
Esta es una especie de tres preguntas separadas, pero de todos modos:
1.
los GMSMarker
siempre se dibuja con el mismo tamaño (en píxeles), independientemente de la escala del mapa. Para obtener una imagen que se adapta al mapa, eche un vistazo a GMSGroundOverlay
.
2.
Ha definido el radio como 3000 metros, por lo que siempre debe tener ese tamaño en metros y, por lo tanto, escalar con la escala del mapa. ¿O desea que tenga un tamaño fijo en píxeles, así que aumente en metros a medida que aleja la imagen?
3.
Deberá almacenar el círculo como un miembro (como lo hace con el marcador) y actualizar su posición cada vez que se mueva, en lugar de crear siempre un nuevo círculo.