Tag: mapkit

在iOS中多点绘制路线

我正尝试在提供的地图应用程序中显示具有多个点的路线。 我已经想出了如何显示本文后两点之间的路线。 我正在按照这些方向build立多个点的列表。 据我所知,打开maps.google.com(在iOS)将打开地图应用程序(或Safari,如果地图不可用)。 结果是地图应用程序仍然只显示开始和目的地之间的路线。 没有显示用mrad参数添加的点。 是否可以在iOS中显示具有多个目的地的路线(无需构build我自己的映射系统)?

在ios中绘制polyLine时出错

我正在创build一个应用程序,应该显示两点之间的路线。 MKPolyline *routeLine = [MKPolyline polylineWithCoordinates:locations count:2]; [mapView addOverlay:routeLine]; 这两个位置存储在arrays的“位置”。 我收到一个错误 Objective-C指针types'NSMutableArray *'到C指针types'CLLocationCoordinate2D *'的隐式转换需要桥接转换 请帮我解决这个问题。 提前致谢。

卫星模式下的MKMapView在缩放时显示黑屏

此问题仅在卫星地图中发生。 有没有修复,以避免显示这个黑屏? 注意:Apple Map应用程序不在设备中显示此黑屏,但显示此黑屏的MKMapView。

共享一个mkmapview截图

我有一个有很多东西的地图,我想分享一个图片/截图的forms。 不过据我所知,苹果的iOS 6和谷歌的iOS 5都是受版权保护的,我不能简单地这样做。 我想到了Google静态地图API,但是我没有发现类似的苹果地图可用。 我怎样才能不违反他们的规则,仍然使用MapKit框架共享一个mapview图片? 谢谢!

MKPolygon初始化错误“在调用中缺less参数'interiorPolygons'的参数”/“调用中的额外参数”

我试图将清单6-9中 MapKit MKPolygon引用中的Objective-C代码转换成Swift。 当我用这个函数调用函数 init(coordinates:count:) 初始化函数,我得到的错误: 呼叫中缺less参数“interiorPolygons”的参数 当我用interiorPolygons参数调用函数时,出现错误: 在调用中的额外参数 这是我正在使用的代码。 var points: [CLLocationCoordinate2D] = [CLLocationCoordinate2D]() points[0] = CLLocationCoordinate2DMake(41.000512, -109.050116) points[1] = CLLocationCoordinate2DMake(41.002371, -102.052066) points[2] = CLLocationCoordinate2DMake(36.993076, -102.041981) points[3] = CLLocationCoordinate2DMake(36.99892, -109.045267) var poly: MKPolygon = MKPolygon(points, 4) poly.title = "Colorado" theMapView.addOverlay(poly) 更新: points.withUnsafePointerToElements() { (cArray: UnsafePointer<CLLocationCoordinate2D>) -> () in poly = MKPolygon(coordinates: cArray, count: 4) […]

我怎么能限制地图区域只有一个国家在iOS?

我正在使用mapkit为iOS创build应用程序。 我想限制地图的边界只限于一个特定的地区/国家。 有没有办法做到这一点?

如何知道MKOverlay何时不在视图内?

当MKOverlay的boundingMapRect进入MKMapView的可见边界时, MKMapView 的mapView:rendererForOverlay触发。 当MKOverlay离开地图视图的可见边界时,是否有等效的委托方法? 还是我必须自己做这个math?

长按发生时,忽略mapView:didSelectAnnotationView

我正在为这个挣扎。 我有一个小地区的许多针脚mapview。 无论我是否在注释视图上长时间按压,我都想忽略mapview在长按地图时select的注释。 好像这个注释是在touchDown上被选中的,而不是在注解视图里面的内容,这很烦人。 我已经为mapview添加了一个longpress手势: UILongPressGestureRecognizer *longRec = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(addPin:)]; longRec.cancelsTouchesInView = YES; [self.mapView addGestureRecognizer:longRec]; 当我长时间按压注释视图时,这是无法识别的。 只要我按下select注释委托调用处理,长按不会触发。 我试图阻止点击手势识别器,这当然不起作用,因为mapview的手势没有委托给我的地图视图控制器,所以这是行不通的: – (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { if ([gestureRecognizer isKindOfClass:[UITapGestureRecognizer class]] && [otherGestureRecognizer isKindOfClass:[UILongPressGestureRecognizer class]]) { return NO; } return YES; } 我也尝试在注解视图中添加一个longpress手势作为黑客,但是这也永远不会被解雇,而且我也不喜欢这个策略。 有一种方法来阻止mapview的注释select,当一个longpress手势待在mapview?

Swift MKPointAnnotation自定义图片

我尝试在swift中为我的MKPointAnnotation创build一个自定义的“badget”,但是因为MKPointAnnotation没有任何像image var information = MKPointAnnotation() information.coordinate = location information.title = "Test Title!" information.subtitle = "Subtitle" information.image = UIImage(named: "dot.png") //this is the line whats wrong Map.addAnnotation(information) 有人想出了一个像这样的解决scheme?

iOS的地图包 – caching地图?

当没有互联网连接时,我需要某些地区的地图。 这将是这样的: 用户加载应用程序互联网连接可用 应用程序下载地图上的坐标和地点的引脚列表 用户离开他们的房子,并没有互联网连接 即使没有互联网连接,引脚和地图仍然可供用户进行交互 我该怎么做呢?