"Sono un principiante nello sviluppo di un" Sto aggiungendo una google map in una vista della mia applicazione, seguendo un tutorial ho usato questo codice
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let location: CLLocation = locations.last!
print("Location: (location)")
let camera = GMSCameraPosition.camera(withLatitude: location.coordinate.latitude,
longitude: location.coordinate.longitude,
zoom: zoomlevel)
let marker = GMSMarker()
marker.title = "My Position"
marker.map = mapView
if mapView.isHidden {
mapView.isHidden = false
mapView.camera = camera
} else {
mapView.animate(to: camera)
}
}
func locationManager(_ manager: CLLocationManager, didChangeAuthorization status: CLAuthorizationStatus) {
switch status {
case .restricted:
print("Location access was restricted.")
case .denied:
print("User denied access to location.")
mapView.isHidden = false
case .notDetermined:
print("Location status not determined.")
case .authorizedAlways: fallthrough
case .authorizedWhenInUse:
print("Location status is OK.")
}
}
func locationManager(_ manager: CLLocationManager, didFailWithError error: Error) {
locationManager.stopUpdatingLocation()
print("Error: (error)")
}
per trovare la posizione dell'utente, ora vorreivedere sulla mappa i luoghi (luoghi di Google) che si trovano a una distanza X dalla posizione dell'utente, come posso fare? ho cercato nel documento di Google Places ma non ho trovato una risposta valida
risposte:
1 per risposta № 1Aggiungi un altro marker su Tocca su mapView e rendilo trascinabile e usa CLLocationDistance per misurare la distanza tra 2 posizioni.
let distanceInMeters = self.locationManager.location?.distance(from: newMarkerLocation!)