Я работаю над картами Google, в которых я хочу показать местоположение на картах Google, используя UISwitch
. Я могу показать местоположение с помощью кнопки Google Maps, но я не знаю, как мне это сделать, используя UISwitch
. Как вы можете видеть на моем первом изображении, я могу получить местоположение, но как я могу сделать это, используя UISwitch
(я использую MFSideMenu
) для отображения бокового меню. Любая помощь?
override func viewDidLoad() {
super.viewDidLoad()
setupSwitch()
locManager = CLLocationManager()
locManager.delegate = self
locManager.requestWhenInUseAuthorization()
locManager.startMonitoringSignificantLocationChanges()
func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
print("Error while getting location\(error)")
}
}
func setupSwitch() {
locationSwitch.addTarget(self, action: #selector(switchValueDidChange(_:)), for: .valueChanged)
}
@objc func switchValueDidChange(_ sender: UISwitch) {
//Called when yourSwitch change its value
if locationSwitch.isOn {
menuContainerViewController.toggleLeftSideMenuCompletion({
//self.locManager.startUpdatingLocation()
})
} else {
//Stops the location updates.
self.locManager.stopUpdatingLocation()
}
}
private func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location = locations.last
_ = GMSCameraPosition.camera(withLatitude: (location?.coordinate.latitude)!, longitude: (location?.coordinate.longitude)!, zoom: 17.0)
//Finally stop updating location otherwise it will come again and again in this delegate
self.locManager.stopUpdatingLocation()
}
Это код, который я написал, но, кажется, он не работает