在我们的应用程序中,我们根据一组自定义位置计算路线。我们从我们的服务器获取这些位置(但它是使用Graphhopper生成的)。我们需要这些自定义位置来做两件事:1)能够沿途获取一些POI数据2)在我们的iOS应用程序中计算与Web应用程序相同的路线现在,一切正常,直到用户转错了弯,我们需要开始重新规划路线。重新规划路线本身很好,但我们仍然需要获取新的POI数据,如果没有我们的路线位置数组,我们无法做到这一点。所以我的问题是-是否有一种方法可以在重新路由完成后获取一组路由位置?我们需要我们将放入此方法中的相同路线位置数组:[[SKRoutingServicesharedInstance]
我们正在制作离线公路旅行计划器。我们想使用skobblermap,但主要问题是框架太大了。即使有一些精简选项,它仍然超过110Mb(仅使用skobbler框架)。在SKMaps.framework中有一个大小为95Mb的文档SKMaps。没有程序可以打开此文档(至少我的macatm上没有程序)。我想知道此文档中可能包含什么内容,是否可以“打开”它并从中删除不需要的文件。我问这个是因为当我启动带有skobbler的应用程序时,有一张整个世界的map可供探索。我不需要那个。我只需要美国的几个州,仅此而已。一个状态的大小大约为30Mb,这是可以接受的,每个状态的下载选项都可以作为一项Asse
应用启动后,我需要启动免费导航模式,以便收到有关streetType更改的通知。但是,在某些情况下,某些注释会放置在map上,用户应该能够在map上四处移动,远离用户当前位置,并浏览这些注释。在导航模式下可以放大和缩小,但是可以在map上移动吗? 最佳答案 如果在startNavigation后启用平移,请检查这是否可行(请参阅演示项目中的enterPanningState代码)。类似于:-(void)enterPanningState{[selfshowPanningUI];self.mapView.settings.follow
我想在初始化SKMap时缩放到当前用户的位置。现在我不知道它是否可能(即使它不可能是不可能的)但我无法通过文档找到方法。我唯一找到的是android的方法mapView.setZoom(int);但iOS没有类似的东西。我怎样才能缩放到用户当前位置? 最佳答案 只需为您的map创建一个区域以聚焦于:SKCoordinateRegionregion;region.center=CLLocationCoordinate2DMake(52.5233,13.4127);region.zoomLevel=17;mapView.visibleR
SKRouteSettings用于设置路由条件,包括起始坐标、结束坐标等之后,SKRoutingService通过传递来自SKRouteSettings的路由来调用委托(delegate)方法calculateRoute。此方法应该调用SKRoutingService的didFinishRouteCalculationWithInfo或routingServiceDidFailRouteCalculation方法,但均未调用。谁能帮我确定哪里出错了? 最佳答案 试试这个...#import@implementationRouting
我在尝试计算路线时遇到了这个奇怪的错误。它只发生在第一次应用打开时。在我关闭一个应用程序并重新启动它后,它会按预期运行,并执行完全相同的操作。我得到RoutecalculationfailedwithSKRoutingErrorCodeInvalidStartCoordinate-681但这不可能。我检查了我的日志,两个坐标都有效,并且在我关闭应用程序并再次打开时使用相同的坐标。坐标是:Start:"longitude":42.360481,"latitude":-71.059570End:"longitude":40.730598,"latitude":-73.986580这是一个已
导航开始后,用户可以选择在屏幕之间切换。有两个屏幕有两个不同的map-一个显示导航,另一个显示一些POI。每当屏幕发生变化时,都会设置新的代理并将[SKRoutingServicesharedInstance].mapView设置为该屏幕的mapView。一切正常,只有发生的事情,我想避免它-当我返回初始屏幕时,导航再次从头开始(到目前为止,我在iPhone6上以模拟模式测试它)。当我设置委托(delegate)时会发生这种情况[SKRoutingServicesharedInstance].routingDelegate=self;如果我不设置委托(delegate),返回到主导航屏
我正在使用SkobbleriosSDK。我在我的mapView中添加了两个注释。然后我在这两点之间走线。布线成功,但是第一个点的标注(pin),起点消失了——实际上是第一个标注移到了第二个标注的后面。如果我仔细查看路线末端的第二个注释(引脚),我可以看到它后面还有另一个注释。当我点击注释时,该应用会显示注释的标注。如果我仔细点击终点注释后面的注释,路线开始处第一个注释的标注将出现在其原始起点位置。路线开头的注释不正确(在我看来是这样)移到了路线结尾的注释后面,但它的标注仍保留在路线开头的正确位置。为什么第一个注解会移动,如何让它保持在原来的位置。谢谢!编辑:iOS9,Swift。它非常
我正在寻找一种方法来将POI添加到从我的应用程序生成的SKMapView热图中。在SDK提供的示例中,只有一种方法可以显示来自内部数据源的类别。我查看了SKMapsSDK中的类别,只有两种方法:@interfaceSKMapView(HeatMaps)-(void)showHeatMapWithPOIType:(NSArray*)poiTypes;-(void)clearHeatMap;@end我还有一个问题:如何为热图设置最小和最大缩放级别?作为替代方案,我正在寻找一种方法来添加自定义叠加层,就像在Applemap中一样:[self.mapViewaddOverlay:self.he
这个问题是在更新到最新的Skobbler版本后出现的。当我尝试选择任何注释时,只会调用此方法-(void)mapView:(SKMapView*)mapViewdidTapAtCoordinate:(CLLocationCoordinate2D)coordinate但不是didSelectAnnotation。放大后didSelectAnnotation方法工作正常。有人知道发生了什么吗? 最佳答案 答案很简单。我刚刚设置了annotationTapZoomLimit=0在map的设置中。感谢关注。