Как удержать Node от движения и остаться на якоре?
У меня есть следующий код:
private func updateNodePosition(){
if updateNodes{
locationUpdate += 1
SCNTransaction.begin()
SCNTransaction.animationDuration = 1
if updateLocations.count > 0 {
myLocation = CLLocation.bestLocationEstimate(locations:
updateLocations)
for node in nodes {
print("@7")
let translation = Matrix.transformMatrix(for:
matrix_identity_float4x4, originLocation: myLocation, location: node.location)
let position = SCNVector3.positionForNode(transform:
translation)
let distance = node.location.distance(from: myLocation)
DispatchQueue.main.async {
let scale = 100 / Float(distance)
node.scale = SCNVector3(x: scale, y: scale, z: scale)
node.position = position
node.anchor = ARAnchor(transform: translation)
print("@8")
}
}
for pathN in pathNodes {
print("@9")
let translation = Matrix.transformMatrix(for:
matrix_identity_float4x4, originLocation: myLocation,
location: pathN.location)
let position = SCNVector3.positionForNode(transform:
translation)
let distance = pathN.location.distance(from: myLocation)
DispatchQueue.main.async {
let scale = 100 / Float(distance)
pathN.scale = SCNVector3(x: scale, y: scale, z: scale)
pathN.position = position
pathN.anchor = ARAnchor(transform: translation)
print("@10")
}
//add vectors to path
pathPoints.append(position)
}
}
SCNTransaction.commit()
path()
}
mapView.addOverlay(myRoute.polyline)
}
Это в основном прокладывает путь от моего текущего местоположения до пункта назначения. Однако проблема, с которой я сталкиваюсь, заключается в том, как путь движется вместе со мной. Он не остается на якоре в одном месте. Я не слишком уверен, как сохранить его в одном месте, чтобы я мог следовать по пути, как вы можете в Google или Apple Maps. Любая помощь по этому вопросу будет принята с благодарностью, и, пожалуйста, дайте мне знать, если есть какой-либо способ, чтобы я мог дать больше ясности.