MapKit'te kamerayı kullanıcı konumu üzerinden merkezleyen özel bir düğme var mı? Veya el ile düğme oluşturma ve mapView.showsUserLocation = true
geçiş yapmak zorunda mıyım?MapKit kullanarak görüntüyü kullanıcı konumuna ortalamak için düğme
cevap
Bu şekilde de (Swift) çalıştırır üzerinde haritanın merkezine istediğiniz yere arayabilirsin ve düğmeyi özelleştirebilirsiniz:
class YourViewController{
...
@IBOutlet weak var mapView:MKMapView
...
override func viewDidLoad() {
super.viewDidLoad()
...
addMapTrackingButton()
}
func addMapTrackingButton(){
let image = UIImage(named: "trackme") as UIImage?
let button = UIButton(type: UIButtonType.System) as UIButton
button.frame = CGRectMake(5, 5, 35, 35)
button.setImage(image, forState: .Normal)
button.backgroundColor = .clearColor()
button.addTarget(self, action: #selector(YourViewController.centerMapOnUserButtonClicked), forControlEvents:.TouchUpInside)
self.mapView.addSubview(button)
}
func centerMapOnUserButtonClicked() {
self.mapView.setUserTrackingMode(MKUserTrackingMode.Follow, animated: true)
}
...
}
Swift 4:
func addMapTrackingButton(){
let image = UIImage(named: "trackme") as UIImage?
let button = UIButton(type: UIButtonType.custom) as UIButton
button.frame = CGRect(origin: CGPoint(x:5, y: 25), size: CGSize(width: 35, height: 35))
button.setImage(image, for: .normal)
button.backgroundColor = .clear
button.addTarget(self, action: #selector(ViewController.centerMapOnUserButtonClicked), for:.touchUpInside)
mapView.addSubview(button)
}
@objc func centerMapOnUserButtonClicked() {
mapView.setUserTrackingMode(MKUserTrackingMode.follow, animated: true)
}
Tek satır kod NICE! – Jeff
Kullanıcının konum koordinatını almanız ve bölgeyi ayarlamanız gerekir.
- (IBAction)centerMapOnUserButtonClicked:(id)sender {
MKCoordinateSpan span = MKCoordinateSpanMake(0.0001f, 0.0001f);
CLLocationCoordinate2D coordinate = self.mapView.userLocation.coordinate;
MKCoordinateRegion region = {coordinate, span};
MKCoordinateRegion regionThatFits = [self.mapView regionThatFits:region];
NSLog(@"Fit Region %f %f", regionThatFits.center.latitude, regionThatFits.center.longitude);
[self.mapView setRegion:regionThatFits animated:YES];
}
Çözüm 2:
MKUserTrackingBarButtonItem *trackButton = [[MKUserTrackingBarButtonItem alloc] initWithMapView:mapView];
[trackButton setTarget:self];
[trackButton setAction:@selector(track:)];
[toolbar setItems:[NSArray arrayWithObjects:trackButton, nil] animated:YES];
Swift 4:
let trackButton = MKUserTrackingBarButtonItem.init(mapView: mapView)
trackButton.target = self
trackButton.action = #selector(ViewController.track)
toolbar.items?.append(trackButton)
Bu hızlı değil, tamam. Demek istediğim, kendi düğmemizi el ile oluşturmam gerektiğidir. Bunun gibi bir şey yok: "mapView.enableButtonThatDoesCenterViewOverUser = true". – Xernox
MKMapCamera, haritadaki bir noktayı gözlemlediğiniz bakış açısı olarak hizmet edecektir. –
Ne hakkında konuşuyorsun? Kullanıcının manuel olarak nasıl görüntüleneceğini sormuyorum - nasıl yapacağımı biliyorum. MapKit'in bunu yapmak için düğmeye basmasını sağladım, çünkü MapKit, Kuzey yönünü değiştirmek için küçük bir pusula sağlıyor. – Xernox
ahah, geç olmak, ama sadece işlevini bulundu: Düzgün Yani
CLLocationManager.requestLocation()
size bir kez locationManager'ınızı ayarlayın (requestAlwaysAuth ile) orization) Kendi konumu :)
- 1. Görüntüyü yakınlaştırıp ortalamak nasıl?
- 2. Görüntüyü beyaz kenarlık olmadan CSS kullanarak ortalamak
- 3. Görüntüyü hizalayarak hizalamak, yüzdürmek ve ortalamak
- 4. CSS'de yeniden boyutlandırılabilir bir görüntüyü ortalamak
- 5. Swift ve MapKit içinde MKPinAnnotationView() kullanarak sıkışmış
- 6. iOS - Storyboard ve autolayout kullanarak UIScrollView merkezini ortalamak için
- 7. Düğme devre dışı bırakıldığında görüntüyü nasıl değiştirebilirim?
- 8. Haritadaki koordinatları değiştirin (MapKit)
- 9. Görüntüyü css kullanarak döndürme
- 10. Düğme etiketini kullanarak düğme arka planını değiştirin
- 11. Sadece localhost kullanarak localhost \ sqlexpress konumuna gelin
- 12. Birden çok düğme için aynı kimliği kullanarak
- 13. Passport.js'yi kullanarak mevcut karma konumuna nasıl dönebilirim?
- 14. Görüntüyü değiştirmek için Pin'i nasıl alabilirim?
- 15. iOS MapKit özel iğneler
- 16. Facebook Giriş Düğme kullanarak angularjs
- 17. Nasıl RelativeLayout bir LinearLayout ortalamak için?
- 18. Ayar Başlığı yerçekimini ortalamak için ActionBarSherlock
- 19. asp etiketinde ortalamak için metni hizalama nasıl
- 20. Öğeleri jquery mobile footer'da ortalamak için hizalayın
- 21. MapKit - Harita çizgisi
- 22. Kivy'de bir nesneyi ortalamak
- 23. cihaz hiç mapkit
- 24. MapKit varsayılan büyütme
- 25. iPhone Geliştirme - CLLocationManager ve MapKit
- 26. imleci kullanarak görüntüyü sqlite veritabanından kullanarak görüntülemek
- 27. Basılı düğme için seçici
- 28. Görüntüyü base64 kullanarak capybara kullanarak dönüştürün
- 29. WPF - Kullanıcı denetimleri arasında liste kutusunun seçili konumuna bağla
- 30. Sunuculardaki veri depoları Cassandra'daki kullanıcı konumuna nasıl yakın gelir?
Olası kopya: http://stackoverflow.com/a/6170026/3051458 –
@Ramesh_T iki soru da okudunuz mu? Sadece kamerayı kullanıcı üzerinden ortalamak istemiyorum, bunu yapan bir düğme istiyorum, tıpkı Google/Apple Haritalar'da olduğu gibi – Xernox