2016-07-27 121 views
2

有什么方法调整(缩小和展开)GMSCircle对象吗? 我创建GMSCircle并将其附加到我们的地图可调整大小的GMSCircle适用于iOS的GoogleMaps SDK

var cirlce: GMSCircle! 

let camera = GMSCameraPosition.cameraWithLatitude(-33.86, longitude: 151.20, zoom: 6) 
mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera) 

cirlce = GMSCircle(position: camera.target, radius: 100000) 
cirlce.fillColor = UIColor.redColor().colorWithAlphaComponent(0.5) 
cirlce.map = mapView 

我要让circle回应我的手势来调整,并得到其圆的半径值。例如,它有一个网络版here

那么如何创建?任何帮助,将不胜感激。谢谢!

+0

嘿,你有没有找到任何解决方案? – Apple

+0

@苹果还没有找到任何解决方案,然后我只是创建滑块为圆的半径值。 –

+0

是否可以移动和调整地图中的圆圈?我对此有怀疑..因为我仍然无法找到与之相关的任何解决方案。如果你有任何想法,那么我发布了一个问题http://stackoverflow.com/questions/40991640/resize-drag-and-scale-gmscircle-in-google-map-objective-c请做回复。 – Apple

回答

2
@IBOutlet weak var googleMaps: GMSMapView! 
//Slider object to zoom in out the GMSCricle 
@IBOutlet weak var sliderer: UISlider! 
var cirlce: GMSCircle! 
var zoom: Float = 14.0 
var circleSliderZooming: Double = 1000 
var circleCenter = CLLocationCoordinate2D() 
var locationManager = CLLocationManager() 


override func viewDidLoad() { 
super.viewDidLoad() 

locationManager = CLLocationManager() 
locationManager.delegate = self 
locationManager.requestWhenInUseAuthorization() 
locationManager.startUpdatingLocation() 
locationManager.desiredAccuracy = kCLLocationAccuracyBest 
locationManager.startMonitoringSignificantLocationChanges() 

self.circleview(redius: 1000) 

//Your map initiation code 
let camera = GMSCameraPosition.camera(withLatitude: -7.9293122, longitude: 112.5879156, zoom: zoom) 
self.googleMaps.camera = camera 
self.googleMaps.delegate = self 
self.googleMaps?.isMyLocationEnabled = true 
self.googleMaps.settings.myLocationButton = true 
self.googleMaps.settings.compassButton = true 
self.googleMaps.settings.zoomGestures = true 
} 

func circleview(redius:Double) { 
    circleCenter = CLLocationCoordinate2D(latitude: -7.9293122, longitude: 112.5879156) 
    cirlce = GMSCircle(position: circleCenter, radius: redius) 
    cirlce.fillColor = UIColor(red: 0, green: 0, blue: 0.3, alpha: 0.2) 
    cirlce.strokeColor = .blue 
    cirlce.strokeWidth = 2 
    cirlce.map = googleMaps 
} 

func mapView(_ mapView: GMSMapView, didChange position: GMSCameraPosition) { 
    cirlce.position = position.target 
} 
//This is the Slider function to zoom in and out by Slider on View Controller 
@IBAction func cricleZoom(_ sender: Any) { 
    cirlce.radius = CLLocationDistance(sliderer.value) 
} 
+1

谢谢你的移动圈。 – Rex

相关问题