আমি এক্সকোড 9 বিটা, আইওএস 11 এ গুগল ম্যাপ ব্যবহার করছি।
আমি লগতে নিম্নরূপে একটি ত্রুটি পেয়েছি:
প্রধান থ্রেড পরীক্ষক: ইউআই এআইপি একটি পটভূমির থ্রেডে কল করেছে: - [ইউআইএপ্লিকেশন অ্যাপ্লিকেশন স্টেট] পিআইডি: 4442, টিআইডি: 837820, থ্রেডের নাম: com.google.Maps.LabelingBehaviar, সারির নাম: com.apple.root.default-qos.overcommit , কিউএস: 21
এটি কেন ঘটছে তা প্রায় নিশ্চিত বলে আমি আমার কোডের মূল থ্রেড থেকে কোনও ইন্টারফেস উপাদান পরিবর্তন করছি না।
override func viewDidLoad() {
let locationManager = CLLocationManager()
locationManager.requestAlwaysAuthorization()
locationManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
locationManager.startUpdatingLocation()
}
viewMap.delegate = self
let camera = GMSCameraPosition.camera(withLatitude: 53.7931183329367, longitude: -1.53649874031544, zoom: 17.0)
viewMap.animate(to: camera)
}
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let locValue:CLLocationCoordinate2D = manager.location!.coordinate
print("locations = \(locValue.latitude) \(locValue.longitude)")
}
func mapView(_ mapView: GMSMapView, willMove gesture: Bool) {
}
func mapView(_ mapView: GMSMapView, idleAt position: GMSCameraPosition) {
if(moving > 1){
moving = 1
UIView.animate(withDuration: 0.5, delay: 0, animations: {
self.topBarConstraint.constant = self.topBarConstraint.constant + (self.topBar.bounds.height / 2)
self.bottomHalfConstraint.constant = self.bottomHalfConstraint.constant + (self.topBar.bounds.height / 2)
self.view.layoutIfNeeded()
}, completion: nil)
}
moving = 1
}
// Camera change Position this methods will call every time
func mapView(_ mapView: GMSMapView, didChange position: GMSCameraPosition) {
moving = moving + 1
if(moving == 2){
UIView.animate(withDuration: 0.5, delay: 0, animations: {
self.topBarConstraint.constant = self.topBarConstraint.constant - (self.topBar.bounds.height / 2)
self.bottomHalfConstraint.constant = self.bottomHalfConstraint.constant - (self.topBar.bounds.height / 2)
self.view.layoutIfNeeded()
}, completion: nil)
}
DispatchQueue.main.async {
print("Moving: \(moving) Latitude: \(self.viewMap.camera.target.latitude)")
print("Moving: \(moving) Longitude: \(self.viewMap.camera.target.longitude)")
}
}
mapView(_:didChange)
আপনি ডিসপ্যাচিং হয়print
প্রধান সারিতে বিবৃতি। আপনি কি ইতিমধ্যে মূল কাতারে নেই? যদি তা না হয়, আপনাকেওanimate
মূল কাতারে কলটি প্রেরণ করতে হবে। আমিdispatchPrecondition(condition: .onQueue(.main))
এই ইউআই আপডেটগুলির আগে কয়েকটি সন্নিবেশ করানোর পরামর্শ দিচ্ছি , কেবলমাত্র তা নিশ্চিত করার জন্য।