Tag: mapkit

将MapKit经纬度转换为DMS格式

我可以通过以下方式确定地图中心位置的经纬度: func TargetGridReference(outletMapView_PrimaryTargetLocationMap: MKMapView, regionDidChangeAnimated animated: Bool) { let ThreatGridReference = outletMapView_PrimaryTargetLocationMap.centerCoordinate let mapLatitude = String(format:"%.13f",ThreatGridReference.latitude) let mapLongitude = String(format:"%.13f",ThreatGridReference.longitude) let latAndLong = "Lat: \(mapLatitude) \nLong: \(mapLongitude)" self.outletLabel_TargetGridReference.text = latAndLong tempThreatGridReference = ThreatGridReference tempThreatGridReferenceLat = mapLatitude tempThreatGridReferenceLon = mapLongitude } 这给了我在巴黎艾菲尔铁塔的纬度: Lat: 48.8582487759147 Long: 2.2945180844931 我怎样才能将上述转换为以下DMS格式的Swift? lat: 48° 51' 29.6956" N long: 2° 17' 40.2651" […]

如何在MKMapView上使用MKOverlayView绘制弧线/曲线

现在需要帮助。 我可以用MKPolyline和MKPolylineView绘制线条,但是如何在MKMapView的两个坐标之间绘制一条弧线或曲线? 万分感谢。 最终的解决scheme 最后,我在这里写下自己的这些结论来帮助谁想要。 如果你想: 只需在地图上绘制弧形path 只是在地图上画一个图像 在地图上将弧形path和图像合并为叠加 所以解决scheme是: 有MKPolyline和MKPolylineView绘制线, MKPolygon和MKPolygonView绘制多边形, MKCircle和MKCircleView绘制圆。 没有人适合? 弧线在哪里? 哦,是的。 现在真正的解决scheme:你创build一个派生自MKOverlayPathView的自定义类并重写-createPath方法,在-createPath中创build一个使用CGContextAddArcToPoint或其他函数的弧,并将刚刚创build的path与MKOverlayPathView的path属性相关联 ,定制作品完成。 然后你在地图中添加MKPolyline(是的!只是MKPolyline !),然后在-mapView:viewForOverlay:方法中创build自定义类。 然后,运行它,一切都按照你的意愿运行。 魔法? 你可以画一个MKPolyline作为弧线! 只是一个形象? 使用MKAnnotationView 。 完成了! 你能行的! 我相信! 在我的问题中,我想绘制覆盖图中的图像的弧。 所以我创build一个自定义类符合MKOverlay协议,并从MKOverlayView派生自定义类来绘制覆盖。 一切工作正常,但我不能在地图上绘制任何path! 我已经将lineWidth设置为1,2,3,4 …但这不起作用! 啊..解决scheme是用MKRoadWidthAtZoomScale(zoomScale)函数设置线宽,你可以看到path! 那已经完成了…… 这里有一些提示: 使用核心graphics来绘制path,而不是MapKit坐标和UIView坐标! 在CG函数中,请记住线宽应该由此函数转换: MKRoadWidthAtZoomScale(zoomScale) 希望有所帮助

将CLLocationCoordinate2D放入Swift的CLLocation中

我有一个方法,我想调用,但是当我回到地图的中心,它是在CLLocationCoordinate2Dtypes。 如何将CLLocationCoordinate2D的结果放入CLLocation中?

在下拉列表中映射位置名称

我的应用程序必须使用文本框集成search位置名称。 Map工具包是否有任何方法来实现这种function? 这下面的图像显示我确切需要

是否有可能从MKPolylineinheritance

我正在为iPhone构build一个基于MapKit的应用程序。 我有一些MKPolylines添加到地图。 然而,我不希望有一个MKPolyline,我想我自己的模型类符合MKOverlay协议添加到地图,以便我可以访问模型属性时,在mapView:viewForOverlay创build相应的视图。 问题是,我找不到从MKPolylineinheritance的方式,因为它没有任何可以从子类“init”调用的init方法。 您只能使用便利的方法创build它们。 我如何将模型属性和MKPolyline行为结合在一起?

用iphone mapkit获取tapped坐标

我正在使用苹果的mapkit框架来制作应用程序。 我想要做的是从你按下的位置获取经度和纬度。 我使用这个代码从用户当前位置得到坐标: – (IBAction)longpressToGetLocation:(id)sender { CLLocationCoordinate2D location = [[[self.mapView userLocation] location] coordinate]; NSLog(@"Location found from Map: %f %f",location.latitude,location.longitude); } 我如何获得该代码显示按下的位置,而不是userlocation?

如何处理iOS 6上不一致的中国地图?

对于iOS 6上的中国地图,似乎MapKit会根据您设备所在的位置来select地图提供者。 如果您在中国,则会使用AutoNavi地图,否则将使用默认的Apple地图。 使事情变得复杂的是,AutoNavi地图似乎被转换成Google iOS 5上的地图,而默认的Apple地图不会被转换。 通过改变,我正在谈论中国所有的地图都被改变了的事实,尽pipe这不是事实。 相反,中国的一些地图是变化的,有些则不是。 这种变换使得难以在地图上正确地放置注释,因为地图通常偏移约500米。 由于不能扭转实际地图的变换,所以解决方法是将相同的偏移量应用于注释。 至less在有限的区域中存在非平凡的方式来反演变换。 iOS 6中的问题是知道地图是否被转换为能够适当地补偿注释。 在iOS 5上,这个问题并不存在,因为转换后的地图一直使用。 下面的上海地图说明了情况(实际的变换抵消没有被显示)。 那么,在运行时是否会有任何方法知道是否使用了转换的或未转换的中国地图? 其他的想法来处理这个? 编辑:通过中国的代理路由networkingstream量在模拟器中改变地图外观,所以地图提供者的select必须基于IP。

如何在GMSMapView上设置自定义标注标记(点附近的animation环)

使用谷歌地图iOS SDK我已经实现了一个mapView,我已经创build了如下标记 // Creates a marker in the center of the map. GMSMarker *marker = [[GMSMarker alloc] init]; marker.position = CLLocationCoordinate2DMake(-33.86, 151.20); marker.title = @"Sydney"; marker.snippet = @"Australia"; marker.icon = [UIImage imageNamed:@"point1.png"]; marker.map = mapView_; 但我需要显示animation图像,即一些图像序列显示,围绕一个点的animation环,而不是原来的GMSMarker 图像序列是point1.png point2.png point3.png point4.png point5.png 任何人都可以帮助我做到这一点

添加倒圆圈叠加到地图视图

(使用iOS 5和Xcode 4.2。) 我按照这里的说明: http : //developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/LocationAwarenessPG/AnnotatingMaps/AnnotatingMaps.html#//apple_ref/doc/uid/TP40009497-CH6-SW15并使用MKCircle和MKCircleView类在我的MKMapView上添加一个圆形覆盖。 然而,我真正想要的是一个倒圆的覆盖,就像下面的草图中的左侧地图(目前我有一个像右侧的覆盖): 对于倒圆,覆盖层应该覆盖整个地图 – 除了可见的圆。 有没有简单的方法来完成这个使用MKCircle / MKCircleView类? 或者我将不得不深入并定义一个自定义覆盖物体/视图? 感谢您的帮助 :)

animationMKOverlayView

我有一个MKOverlayView,将animation雷达数据显示为一系列图像。 我遇到的问题是,MapKit将雷达图像切成瓦片。 要交换图像我有一个计时器,调用一个更新函数,设置我的覆盖图中的当前图像,然后调用以下内容 [myRadarOverlayView setNeedsDisplayInMapRect:self.mapView.visibleMapRect]; 覆盖更新,但一次一个瓷砖,所以我得到一个波涛汹涌的animation。 任何关于如何使所有的瓷砖animation(即交换图像)在同一时间的想法?