Marker Movement from source to destinationWie man den Marker genau entlang der Polylinie bewegt?
Bild zeigt Marker Bewegung, die gerade Linie mit Marker in nur einer Richtung ist. Ich möchte meine Markierung entlang der Polylinie bewegen, wobei sich die Richtung der Markierung entlang der Richtung der Polylinie ändern sollte. Wie man das erreicht. Mein aktueller Code ist wie folgt:
Klasse MapScreenVC: BaseVC {
var path = GMSMutablePath()
var arrayCoordinates : [CLLocationCoordinate2D] = []
var destCoord = CLLocationCoordinate2D()
var marker = GMSMarker()
var mapView : GMSMapView? = nil
override func viewDidLoad() {
super.viewDidLoad()
let camera = GMSCameraPosition.camera(withLatitude: 53.4545, longitude: -2.1811, zoom: 14)
mapView = GMSMapView.map(withFrame: .zero, camera: camera)
marker = GMSMarker()
marker.position = CLLocationCoordinate2DMake(53.4387, -2.1827)
marker.title = "Source"
marker.snippet = "Source"
marker.icon = UIImage(named: "car")
marker.map = mapView
let DestinationMarker = GMSMarker()
self.destCoord = CLLocationCoordinate2DMake(53.4645, -2.1873)
DestinationMarker.position = CLLocationCoordinate2DMake(53.4643, -2.1869)
DestinationMarker.title = "Destination"
DestinationMarker.snippet = "Destination"
DestinationMarker.icon = UIImage(named: "home")
DestinationMarker.map = mapView
// PolyLine
path.addLatitude(53.4395, longitude:-2.1834)
path.addLatitude(53.4403, longitude:-2.1854)
path.addLatitude(53.4414, longitude:-2.1852)
path.addLatitude(53.4428, longitude:-2.1832)
path.addLatitude(53.4442, longitude:-2.1818)
path.addLatitude(53.4449, longitude:-2.1801)
path.addLatitude(53.4478, longitude:-2.1793)
path.addLatitude(53.4504, longitude:-2.1798)
path.addLatitude(53.4526, longitude:-2.1806)
path.addLatitude(53.4545, longitude:-2.1811)
path.addLatitude(53.4564, longitude:-2.1811)
path.addLatitude(53.4584, longitude:-2.1811)
path.addLatitude(53.4601, longitude:-2.1811)
path.addLatitude(53.4617, longitude:-2.1821)
path.addLatitude(53.4630, longitude:-2.1829)
path.addLatitude(53.4632, longitude:-2.1851)
path.addLatitude(53.4635, longitude:-2.1869)
path.addLatitude(53.4638, longitude:-2.1882)
path.addLatitude(53.4645, longitude:-2.1873)
let polyline = GMSPolyline(path: path)
polyline.strokeColor = .blue
polyline.strokeWidth = 6.0
polyline.geodesic = true
polyline.map = mapView
updateMarker(coordinates: destCoord)
view = mapView
}
func updateMarker(coordinates: CLLocationCoordinate2D) {
CATransaction.begin()
CATransaction.setAnimationDuration(10.0)
marker.position = coordinates
CATransaction.commit()
}
}
Wie erreichen Sie das? Bitte helfen Sie mir, wie Sie sich nähern? –