- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 Skobbler ios SDK。
我在我的 map View 中添加了两个注释。然后我在这两点之间走线。布线成功,但是第一个点的标注(pin),起点消失了——实际上是第一个标注移到了第二个标注的后面。如果我仔细查看路线末端的第二个注释(引脚),我可以看到它后面还有另一个注释。
当我点击注释时,该应用会显示注释的标注。如果我仔细点击终点注释后面的注释,路线开始处第一个注释的标注将出现在其原始起点位置。路线开头的注释不正确(在我看来是这样)移到了路线结尾的注释后面,但它的标注仍保留在路线开头的正确位置。
为什么第一个注解会移动,如何让它保持在原来的位置。
谢谢!
编辑:iOS 9,Swift。
它非常通用的代码取自 http://developer.skobbler.com/getting-started/ 的片段
func mapView(mapView: SKMapView, didLongTapAtCoordinate coordinate: CLLocationCoordinate2D) {
let annotation = ABPAnnotation()
annotations.append(annotation)
annotation.identifier = Int32(annotations.count)
annotation.annotationType = SKAnnotationType.Red
annotation.location = coordinate
let animationSettings = SKAnimationSettings()
mapView.addAnnotation(annotation, withAnimationSettings: animationSettings)
self.mapView(mapView, didSelectAnnotation: annotation)
}
func mapView(mapView:SKMapView!, didSelectAnnotation annotation:SKAnnotation!) {
mapView.calloutView.location = annotation.location
mapView.calloutView.titleLabel.text = "Annotation"
mapView.calloutView.subtitleLabel.text = "subtitle"
mapView.showCalloutForAnnotation(annotation, withOffset: CGPointMake(0, 42),
animated: false);
}
@IBAction func routeAction(sender: AnyObject) {
let route = SKRouteSettings()
route.startCoordinate = annotations[0].location
route.destinationCoordinate = annotations[1].location
route.shouldBeRendered = true
route.routeMode = SKRouteMode.CarEfficient
route.maximumReturnedRoutes = 1
route.routeRestrictions.avoidHighways = false
route.requestAdvices = true
SKRoutingService.sharedInstance().calculateRoute(route)
}
func routingService(routingService: SKRoutingService!,
didFinishRouteCalculationWithInfo routeInformation: SKRouteInformation!) {
routingService.zoomToRouteWithInsets(UIEdgeInsetsZero, duration: 400)
}
最佳答案
正如我在上面的评论中提到的,我在使用 Android Skobbler SDK(版本 2.5 和 2.5.1)时也遇到了这个问题,但能够从以下两个论坛帖子中找到解决方法:#1和 #2 .
基本上,似乎用户在添加 ID 为 0
或 1
的注释时遇到问题,我也可以在自己的代码中复制这些注释。
为了解决我的问题,我只是确保我创建的任何注释的 ID 都不小于 10
,这为我解决了这个问题。
如此变化annotation.identifier = Int32(annotations.count)
类似于 annotation.identifier = Int32(annotations.count + SKOBBLER_ANNOTATION_OFFSET)
其中 SKOBBLER_ANNOTATION_OFFSET
是一个10
或更大的值可能适合您。
希望对您有所帮助,谢谢!
编辑:实际上,我现在想起来发现这一点的功劳归功于在原始问题中看到@guido 的评论,所以感谢您在正确方向上的指示!
关于ios - 当它是路线的起点时,Skobbler Annotation 消失(移动),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33289425/
有没有办法让我的浏览器告诉我当我点击一个 div 时执行的第一个 JavaScript 是什么。 让我分解一下: 代码示例: Hi There jQuery('hello').bind('clic
我在一个二维网格迷宫中,你只能水平和垂直移动。边成本为 1,我使用曼哈顿距离来估计从节点到目标的距离。 我的问题是,如果您从当前节点开始寻找到达目标的路径,或者从目标节点开始并找到返回当前节点的路径,
我的 View 中有两个 SeekBar,我在布局中类似地声明了它们: 这是我使用它们的代码: SeekBar sb = (SeekBar) v.findViewByI
我想将 TDD 应用于我的 Java EE 应用程序。 要求是创建一家具有名称和联系方式的公司。系统的入口点是Rest和Web服务,取决于客户端。 我正在努力寻找编写单元测试的起点。 我应该从无状态的
我想知道如何改变popUpMenu的原点,在底部应用栏正上方启动弹出窗口,无论项目数如何。与屏幕右端对齐。类似的东西(例如) Positioned(right: 0, bottom: bottomAp
我已经阅读了大量文章,看过大量关于 TDD 的截屏视频,但我仍在努力在实际项目中使用它。我的主要问题是我不知道从哪里开始,第一个应该是什么测试。 假设我必须编写调用外部系统方法(例如通知)的客户端库。
我确实在这个网站上进行了一些谷歌搜索,但没有找到我想要的东西。 我希望有人能在这里为我指出正确的方向。我是一名 ASP.NET/SQL Server 开发人员,希望开发一个(最初)基本社交网站 (ga
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 5 年前。
google了一下,没有找到任何东西。 有什么好的资源可以帮助我开始为严重依赖 API key 的 RESTless Web 应用程序设计后端。 我知道如何编写不稳定的网络服务等,只是从未使用过 AP
这是我的代码的一部分 string line; ifstream file ("Names.txt"); int i; for (i = 0; i < line.length(); ++i) {
我已经尝试创建路线,但我不确定如何事先获取从起点到目的地的所有纬度和经度。在这里,当我在 map 中搜索从起点到终点的路线时,我选择了一条我选择的路线,我想获得从起点到终点的所有经纬度。我必须将这些数
我正在尝试让宇宙飞船绕行星运行。我目前正在做 let playerPos = player.position let planetPos = planet.position let radius =
Java 中有一个 forloop,我可以在其中判断从哪里开始和从哪里结束: for(int i=10;i{{ athlete.name }} {% endfor %} {{forloop.last=
我正在尝试探索 dot net 核心功能以更好地理解它,因为我执行了同样的操作 dotnet new dotnet build dotnet run 命令提示符窗口中的命令,它为我创建了一个项目并创建
我正在使用 HTML5 Canvas 和 JavaScript 开发一款游戏。这是一款简单的太空射击游戏,屏幕中央有一门大炮。我可以旋转大炮并以与大炮方向相同的 Angular 发射导弹。 但我有一个
我正在尝试通过在 JavaFX 应用程序中使用凹槽、脊线边框样式来获得 3d 外观。但它正在向我展示 Unsupported 'groove' while parsing '-fx-border-s
我正在尝试从 mapr fs origin 进行简单的数据移动到 mapr fs destination (这不是我的用例,只是为了测试目的做这个简单的 Action )。尝试 validate 时这
我是一名优秀的程序员,十分优秀!