gpt4 book ai didi

ios - 计算路线后绘制的注释移动到用户的位置 - Skobbler

转载 作者:搜寻专家 更新时间:2023-11-01 07:26:43 24 4
gpt4 key购买 nike

初始化 map 后,我在某个坐标上添加了一个注释

func initMap(){

SKRoutingService.sharedInstance().navigationDelegate = self
SKRoutingService.sharedInstance().routingDelegate = self
SKRoutingService.sharedInstance().mapView = self.mapView
SKRoutingService.sharedInstance().mapView?.delegate = self
SKRoutingService.sharedInstance().mapView?.centerOnCurrentPosition()
SKRoutingService.sharedInstance().mapView?.animateToZoomLevel(16)
SKRoutingService.sharedInstance().mapView?.settings.showAccuracyCircle = false
SKRoutingService.sharedInstance().mapView?.settings.showStreetNamePopUps = true
SKRoutingService.sharedInstance().mapView?.mapScaleView.hidden = true

setCheckpointAnnotation()


}


func setCheckpointAnnotation(){

let annotationViewHolder = UIView(frame: CGRectMake(0,0,40,80))
let annotationImageView = UIImageView(frame: CGRectMake(0,0,40,80))

annotationImageView.image = UIImage(named: "HorseHead.png")
annotationViewHolder.addSubview(annotationImageView)

let annotation = SKAnnotation()
annotation.location = self.checkpointLocation
let annotationView = SKAnnotationView(view: annotationViewHolder, reuseIdentifier: "Annotation")
annotation.annotationView = annotationView

SKRoutingService.sharedInstance().mapView?.addAnnotation(annotation, withAnimationSettings: .None)
}

在我这样做之后,注释被放置在正确的坐标上。但是在我计算路线之后,相同的注释被重新绘制到路线起始坐标。

这是我用来计算路线的代码(我在初始化 map 和添加注释后立即调用它)

 func calculateRoute(){
let route = SKRouteSettings()
//var viaPointsArray = [SKViaPoint]()



self.checkpoints.removeFirst()

route.startCoordinate = self.userLocation
route.destinationCoordinate = self.checkpointLocation

//route.viaPoints = viaPointsArray

route.shouldBeRendered = true // If false, the route will not be rendered.
route.routeMode = SKRouteMode.Pedestrian

route.maximumReturnedRoutes = 1
route.routeRestrictions.avoidHighways = true

SKRoutingService.sharedInstance().calculateRoute(route)
}

那么为什么在计算路线后该注释会重新绘制到另一个坐标(始终是路线的起点)?

最佳答案

将注释的 ID 设置为 > 10。

出于某种原因,SDK 使用内部 0 和 1 id 作为开始和结束目标标志,我猜如果不为您的注释分配特定 ID,它会自动接收其中一个 protected ID。

注意:我知道这已在 Android 版本中得到解决 - 我们将检查 iOS 版本

关于ios - 计算路线后绘制的注释移动到用户的位置 - Skobbler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35630455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com