Ich versuche, einen kreisähnlichen Radiusbereich zu erstellen, den der Benutzer ändern kann, und ich kann die Radiusnummer meines aktuellen Standorts ermitteln.Hinzufügen von veränderbarem Radius auf der GoogleMaps-API für iOS
================
tl; dr Herausgegeben
Ich möchte this als iOS-App mit schnellen machen.
=================
Gerade jetzt, ich Karte bereits erstellt, dass den aktuellen Standort zu hören. Unter Verwendung CLLocationManager
beobachte ich seinen Update-Standort und die Karte zeigt meinen Standort.
import UIKit
import GoogleMaps
class ViewController: UIViewController, CLLocationManagerDelegate {
@IBOutlet var mapView: GMSMapView!
// Current Location Components
var locationManager = CLLocationManager()
var didFindMyLocation = false
override func viewDidLoad() {
super.viewDidLoad()
// Current Location Delegate
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
// Observer for update location (Moving)
mapView.addObserver(self, forKeyPath: "myLocation", options: NSKeyValueObservingOptions.New, context: nil)
}
// Core Location Location Manager Delegate
func locationManager(manager: CLLocationManager, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
if status == CLAuthorizationStatus.AuthorizedWhenInUse {
mapView.myLocationEnabled = true
}
}
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
if !didFindMyLocation {
let myLocation: CLLocation = change![NSKeyValueChangeNewKey] as! CLLocation
mapView.camera = GMSCameraPosition.cameraWithTarget(myLocation.coordinate, zoom: 18.0)
mapView.settings.myLocationButton = true
didFindMyLocation = true
}
}
Gerade jetzt möchte ich einen Kreis, der veränderbar ist. Jemand hat das bereits in android here erstellt. Der Kreis/Radius kann durch Gesten verkleinert oder vergrößert werden, und ich kann den Radius dieses Kreises von seinem Mittelpunkt aus wie dieser question erhalten. Das ist, was ich für meine App will.
Also, was sollte ich für diesen Radius-Kreis-resizable verwenden? Ich schätze wirklich alle Antworten und Ideen. Vielen Dank!
Konnte dieser Kreis mit dem verbunden werden Karte? Weil ich auch seinen Radius bekommen möchte, genau wie die Antwort auf diese Frage http://stackoverflow.com/questions/32722122/get-radius-where-resizing-circle?rq=1. Vielen Dank! –
Natürlich - der GMSCircle ist ein echtes Overlay für Google Maps - aber Sie können Ihren UIPanGestureRecognizer nicht (soweit ich weiß). Sie können also ein "verstecktes" Kreis-Overlay erstellen, um Pan-Gesten zu erhalten, und es auf den "echten" Kreis zeichnen. – derdida
Ok, ich kann circe drauf zeichnen. Aber wie erstellt man ein "verstecktes" Kreis-Overlay, um die Pan-Geste zu erhalten und dann auf den "echten" Kreis zu zeichnen? Vielen Dank trotzdem. –