Ich verwende Google Maps Services in iOS (Swift) und Android. In Android hat die Kartenansicht eine Methode namens animatreCamera
, die eine Animation hat, in der die Bewegung einen "Verkleinern - Vergrößern" Effekt hat (wenn beide Kameras den gleichen Zoom haben, wird die Kartenansicht den ersten Teil der Bewegung verkleinern) und dann den zweiten Teil heranzoomen). Ich möchte diesen Effekt mit der GMSMapView
in iOS erreichen, habe ich die folgenden Methoden versucht: animateToCameraPosition
, animateToLocation
, animateWithCameraUpdate
, moveCamera
und Einstellung der Kamera von mapView.camera = GMSCameraPosition(target: location, zoom: 15, bearing: 0, viewingAngle: 0)
und keiner von ihnen haben diese Animation. Wenn möglich, wie kann ich diese Animation beim Bewegen der Kamera erreichen?GMSMapView animateToCameraPosition vergrößern - Animation verkleinern
5
A
Antwort
4
Ich glaube, es gibt keine direkte Möglichkeit, die gleiche Animation im Google Maps iOS SDK zu archivieren.
kann Eine Abhilfe iOS dispatch_after
Methode verwenden, zunächst können Sie eine Methode zur Verzögerung festlegen, wie viele Sekunden Sie wollen:
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()
}
}
Dann können Sie Ihre Kamera verkleinern, um eine Position zu verschieben, dann zoomen mit die delay
Methode:
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)
})
})
}
Sie Ihren eigenen Zoom-Wert verwenden, verwende ich kGMSMinZoomLevel
und kGMSMaxZoomLevel
hier.
0
Swift 4:
func delay(seconds: Double, closure: @escaping() ->()) {
DispatchQueue.main.asyncAfter(deadline: .now() + seconds) {
closure()
}
}
Dann nennen:
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)
})
})
}
Verwandte Themen
- 1. UIImageView Vergrößern und Verkleinern
- 2. Storyboard Vergrößern/Verkleinern Tastaturkürzel
- 3. iPhone sdk Vergrößern/Verkleinern
- 4. Animieren von GMSMapView
- 5. Vergrößern/Verkleinern in OpenGL ES
- 6. Kann vim vergrößern und verkleinern?
- 7. JQuery Vergrößern/Verkleinern Verwandte Elemente
- 8. Bilder in Emacs. Vergrößern und verkleinern?
- 9. Skript vergrößern/verkleinern - Wie Standardschriftgröße hinzufügen?
- 10. Mit dem Scrollrad zum Vergrößern/Verkleinern
- 11. TMux vergrößern oder verkleinern, ohne Toggle
- 12. Größe des Arrays dynamisch vergrößern/verkleinern
- 13. wie in uipageviewcontroller zu vergrößern oder verkleinern?
- 14. Eclipse Fonts Verkleinern und Vergrößern Problem Ausgabe
- 15. Wie ein Datetime Vergrößern/Verkleinern Mausrad machen
- 16. JQuery - Wie zum Vergrößern/Verkleinern der Breite?
- 17. Vergrößern/Verkleinern einer Textansicht bei gedrückter Textansicht
- 18. Größenänderung (Vergrößern und Verkleinern) in Compact Framework (C#)
- 19. Android - Wie kreisförmig vergrößern/verkleinern Sie einen Teil des Bildes?
- 20. Vergrößern/Verkleinern von Ticks und Rasterlinien bei Ansicht Größe ändern
- 21. In einer Tabellenansicht können wir den Effekt vergrößern und verkleinern?
- 22. Beste Möglichkeit, mehrere Bilder mit Javascript zu vergrößern/verkleinern/skalieren?
- 23. Kinetic js ziehen, droppen, vergrößern, verkleinern und drehen Bild
- 24. So vergrößern und verkleinern Sie Bilder in WP7?
- 25. So vergrößern/verkleinern Sie aus einem komplexen Dreieck in Leinwand
- 26. HTML/CSS: Wie kann ich die Kontrollkästchen beim Vergrößern und beim Verkleinern verkleinern?
- 27. WPF-Animation, um die Höhe zu vergrößern
- 28. Erstellen einer Animation zum Erweitern und Verkleinern einer UIView
- 29. Real Clustering GMSMapView ios
- 30. GMSMapView nichts zeigt