iOS (Swift) ve Android'de Google maps hizmetlerini kullanıyorum. Android'de harita görünümü, hareketin "yakınlaştırma - yakınlaştırma" etkisine sahip olduğu bir animasyona sahip olan animatreCamera
adlı bir yönteme sahiptir (her iki kamerada da aynı zum varsa, harita görünümü hareketin ilk bölümünü uzaklaştıracaktır) ve sonra ikinci parçayı yakınlaştırın. Bu etkiyi iOS'taki GMSMapView
ile gerçekleştirmek istiyorum, aşağıdaki yöntemleri denedim: animateToCameraPosition
, animateToLocation
, animateWithCameraUpdate
, moveCamera
ve kamerayı mapView.camera = GMSCameraPosition(target: location, zoom: 15, bearing: 0, viewingAngle: 0)
ayarlayarak bunların hiçbiri bu animasyonu kullanamaz. Mümkünse, kamerayı hareket ettirirken bu animasyonu nasıl başarabilirim?GMSMapView animateToCameraYükleme yakınlaştırma - uzaklaştırma animasyonu
5
A
cevap
4
Aynı animasyonları Google Haritalar iOS SDK'sinde arşivlemenin doğrudan bir yolu olmadığını düşünüyorum. Daha sonra,
func delay(#seconds: Double, completion:()->()) {
let popTime = dispatch_time(DISPATCH_TIME_NOW, Int64(Double(NSEC_PER_SEC) * seconds))
dispatch_after(popTime, dispatch_get_main_queue()) {
completion()
}
}
Sonra, kameranızı uzaklaştırmak bir konuma taşıyabilirsiniz ile yakınlaştırmak:
iOS en dispatch_after
yöntemi kullanabilirsiniz bir geçici çözüm, ilk istediğiniz kaç saniye geciktirmek için bir yöntem tanımlayabilirsiniz delay
yöntemi:
delay(seconds: 0.5) {() ->() in
var zoomOut = GMSCameraUpdate.zoomTo(kGMSMinZoomLevel)
mapView.animateWithCameraUpdate(zoomOut)
delay(seconds: 0.5, {() ->() in
var vancouver = CLLocationCoordinate2DMake(49.26,-123.11)
var vancouverCam = GMSCameraUpdate.setTarget(vancouver)
mapView.animateWithCameraUpdate(vancouverCam)
delay(seconds: 0.5, {() ->() in
var zoomIn = GMSCameraUpdate.zoomTo(kGMSMaxZoomLevel)
mapView.animateWithCameraUpdate(zoomIn)
})
})
}
kendi yakınlaştırma değerini kullanmak, burada kGMSMinZoomLevel
ve kGMSMaxZoomLevel
kullanın.
0
Swift 4:
func delay(seconds: Double, closure: @escaping() ->()) {
DispatchQueue.main.asyncAfter(deadline: .now() + seconds) {
closure()
}
}
Sonra diyoruz:
delay(seconds: 0.5) {() ->() in
let zoomOut = GMSCameraUpdate.zoom(to: 10)
self.mapView.animate(with: zoomOut)
self.delay(seconds: 0.5, closure: {() ->() in
var vancouver = CLLocationCoordinate2DMake(49.26,-123.11)
var vancouverCam = GMSCameraUpdate.setTarget(vancouver)
self.mapView.animate(toLocation: vancouverCam)
self.delay(seconds: 0.5, closure: {() ->() in
let zoomIn = GMSCameraUpdate.zoom(to: 15)
self.mapView.animate(with: zoomIn)
})
})
}
İlgili konular
- 1. ViewController animasyonu yakınlaştırma ve uzaklaştırma gibi
- 2. Yakınlaştırma/Uzaklaştırma ortamından kaldırılıyor
- 3. ActionScript kullanarak yakınlaştırma/uzaklaştırma yapmak için imkansız mısınız?
- 4. CSS arka plan yakınlaştırma animasyonu fareyi dışarı atıyor
- 5. Uzaklaştırma Octave/gnuplot içinde
- 6. Yeni Döngüsel grafik uzaklaştırma
- 7. tutam yakınlaştırma, uzaklaştırma - android platformu üzerinde web için javascript/jquery/jquery mobil olaylar?
- 8. IOS6 MKMapView'da yakınlaştırma/sınırlama yakınlaştırma
- 9. Google Maps API enableScrollWheelZoom() - neden doğru uzaklaştırma etmiyor?
- 10. Angularjs kullanarak visjs uzaklaştırma düğmelerini zoom eklemek nasıl?
- 11. Android ImageView Yakınlaştırma ve metin bindirme
- 12. CSS veya jQuery'de en hafif yakınlaştırma şekli?
- 13. Tarayıcı yeniden boyutlandırıldığında bir uzaklaştırma olayı nasıl tetikleyebilirim?
- 14. iPhone SDK Quartz ile PDF'yi yakınlaştırma ve yenileme
- 15. Kaydırma ve yakınlaştırma ile bir brandadaki mutlak koordinatları hesaplayın
- 16. AnimateCamera yakınlaştırma anı nasıl tetiklenir 'sadece' sonlandır?
- 17. Bir kerede birden çok ek açıklama göstermek için GMSMapView konumlandırma
- 18. Google Maps iOS SDK - Bir GMSMapView üzerinden UIView/UIButton ekle
- 19. dalgalı animasyonu
- 20. UIWindow animasyonu
- 21. Kaydırma animasyonu
- 22. OpenGL animasyonu
- 23. D3.js Başlangıçtaki yakınlaştırma seviyesini ayarla
- 24. MKPolyline garip görüntü oluşturma ile yakınlaştırma MapKit
- 25. PrimeFaces'te görüntüyü yakınlaştırma
- 26. Yakınlaştırma özelliklerini sıfırlama d3
- 27. CSS yakınlaştırma özelliği
- 28. Kapta içe/dışa yakınlaştırma
- 29. Tuval ile yakınlaştırma
- 30. UWP - yakınlaştırma görüntü