Мне нужно переместить маркер по линии поли в swift 4 в xcode 11. Я уже добавил ломаную линию над картой. Вот изображение, похожее на ..
Над изображением зеленого цвета находится начальная позиция, а красным - конечная позиция. есть маркер стрелки, который мне нужно переместить через начальный флаг, чтобы закончить флаг через всю линию поли. Мне нужно, чтобы вкладка маркера переместилась из начальной в конечную позицию маркера стрелки. Я использовал приведенный ниже код, чтобы нарисовать изображение выше ...
let url = "my url"
AF.request( url,method: .get).responseString{ response in
switch response.result {
case .success(let responseData):
let jsonData = responseData.data(using: .utf8)!
let rect = GMSMutablePath()
var start_lng:Double = 0.0;
var start_lat:Double = 0.0;
var end_lng:Double = 0.0;
var end_lat:Double = 0.0;
do {
if let json = try JSONSerialization.jsonObject(with: jsonData) as? [[String: Any]] {
for data in json {
var lng:Double = 0.0;
var lat:Double = 0.0;
if let v_lon = data["lon"] as? String {
lng = Double(v_lon)!
}
if let v_lat = data["lat"] as? String {
lat = Double(v_lat)!
}
if(start_lng == 0){
start_lng = lng
start_lat = lat
}
end_lng = lng
end_lat = lat
rect.add(CLLocationCoordinate2D(latitude: lat, longitude: lng))
}
if(start_lng > 0 && start_lat > 0){
//Begin Address
var addressString : String = ""
var center : CLLocationCoordinate2D = CLLocationCoordinate2D()
let ceo: CLGeocoder = CLGeocoder()
center.latitude = start_lat
center.longitude = start_lng
let loc: CLLocation = CLLocation(latitude:center.latitude, longitude: center.longitude)
let marker = GMSMarker()
marker.position = CLLocationCoordinate2DMake(start_lat, start_lng)
marker.icon = UIImage(named: "ic_navigation_start_flag")
marker.map = self.googleMap
//add navigation marker
let marker1 = GMSMarker()
marker1.position = CLLocationCoordinate2DMake(start_lat, start_lng)
marker1.icon = UIImage(named: "ic_navigation_marker")
marker1.map = self.googleMap
}
//Bengin end flag
if(end_lng > 0 && end_lat > 0){
//Begin Address
var addressString : String = ""
var center : CLLocationCoordinate2D = CLLocationCoordinate2D()
let ceo: CLGeocoder = CLGeocoder()
center.latitude = end_lat
center.longitude = end_lng
let loc: CLLocation = CLLocation(latitude:center.latitude, longitude: center.longitude)
let marker1 = GMSMarker()
marker1.position = CLLocationCoordinate2DMake(end_lat, end_lng)
marker1.icon = UIImage(named: "ic_navigation_end_flag")
marker1.setIconSize(scaledToSize: .init(width: 50, height: 50))
marker1.map = self.googleMap
}
//End end flag
let polygon = GMSPolygon(path: rect)
polygon.fillColor = UIColor(red: 0.25, green: 0, blue: 0, alpha: 0.05);
polygon.strokeColor = UIColor.init(hue: 210, saturation: 88, brightness: 84, alpha: 1)
//polygon.strokeColor = .black
polygon.strokeWidth = 2.5
polygon.map = self.googleMap
let bounds = GMSCoordinateBounds(path:rect )
self.googleMap.animate(with: GMSCameraUpdate.fit(bounds, withPadding: 25))
}
} catch { print(error) }
case .failure(let error):
Custom_Progress_Bar.hide_progress_dialog()
print("error--->",error)
}
}
Пожалуйста, помогите мне переместить стрелку Маре от начала до конца.