I'm trying to add marker in google maps with long touch in swift !!!!! and when i add below code some errors raised !
class ViewController: UIViewController, CLLocationManagerDelegate, UIGestureRecognizerDelegate {
var mapView: GMSMapView?
var locationManager = CLLocationManager()
var locationMarker: GMSMarker!
override func viewDidLoad() {
super.viewDidLoad()
let longPressRecognizer = UILongPressGestureRecognizer(target: self, action: #selector(ViewController.handleLongPress(_:)))
self.mapView!.addGestureRecognizer(longPressRecognizer)
GMSServices.provideAPIKey("AIzaSyBw95wEhcSiSBmPWuYkiK0_IBnZQK-Lm7I")
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.startUpdatingLocation()
}
func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
print("Error" + error.description)
}
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let userLocation = locations.last
let center = CLLocationCoordinate2D(latitude: userLocation!.coordinate.latitude, longitude: userLocation!.coordinate.longitude)
let camera = GMSCameraPosition.cameraWithLatitude(userLocation!.coordinate.latitude,
longitude: userLocation!.coordinate.longitude, zoom: 16)
let mapView = GMSMapView.mapWithFrame(CGRectZero, camera: camera)
mapView.myLocationEnabled = true
mapView.settings.myLocationButton = true
view = mapView
// marker with optional position
let position = CLLocationCoordinate2DMake(10, 10)
let marker = GMSMarker(position: position)
marker.opacity = 0.6
marker.position = center
marker.title = "Current Location"
marker.snippet = ""
marker.map = mapView
//mapView.clear()
//locationManager.stopUpdatingLocation()
}
func handleLongPress(recognizer: UILongPressGestureRecognizer)
{
if (recognizer.state == UIGestureRecognizerState.Began)
{
let longPressPoint = recognizer.locationInView(self.mapView);
let coordinate = mapView!.projection.coordinateForPoint(longPressPoint )
//Now you have Coordinate of map add marker on that location
}}
}