Tag: mapkit

你可以使用苹果的mapkit混合应用程序?

这个Web应用程序是针对Web和Android的。 我看着像Google这样的其他人,但他们有限制。 如果你可以使用它,任何人都可以指向我的文档。 谢谢。

如何从视图控制器传递数据?

我想将纬度数据和经度数据传递给另一个名为DestinationViewController的控制器。 DestinationViewController包含一个地图视图,所以当用户转换到一个新视图时,他们将会看到一个基于第一个视图中的位置(纬度和经度)数据的天桥图。 现在我将解释一些问题。 第一视图 import UIKit import MapKit import CoreLocation class SliderViewController: UIViewController, MKMapViewDelegate, CLLocationManagerDelegate { @IBOutlet weak var slider: UISlider! private var latitude : [Double]! private var longtitude : [Double]! override func viewDidLoad() { sliderSlides(self) } @IBAction func sliderSlides(sender: AnyObject) { let userChoice = Double(self.slider.value) var realLatlong = [double]() if userChoice == 1 { […]

为iOS设置dynamic地图引脚颜色

我parsing一个包含string0,1和2的xml。 //参考0 =绿色1 =红色2 =紫色 我有一个类,确认MKAnnotaion包含下面的variables属性。 CLLocationCoordinate2D coordinate; NSString *title; NSString *subtitle; MKPinAnnotationColor pinColor; 这个类被命名为MyAnnotation 现在在地图视图的viewDidLoad中,我运行一个for循环来遍历parsing的数据,如下所示(locationArray拥有这个数据,我把所有的信息都拉出来了。 for (int i = 0; i < locationArray.count; i++) { myAnnotation =[[MyAnnotation alloc] init]; NSString *thePointName = [[locationArray objectAtIndex:i]xmlName]; NSString *theAddress = [[locationArray objectAtIndex:i]xmlAddress]; NSString *latString = [[locationArray objectAtIndex:i]xmlLat]; NSString *lonString = [[locationArray objectAtIndex:i]xmlLon]; //这是拉出所提到的0,1或2个string的string,它们代表了引脚的颜色。poinType保留为一个string pointType = [[locationArray objectAtIndex:i]xmlType]; […]

如何在mapView更改时刷新MKOverlayRenderer

我是新来的代码,我试图实现像提醒应用程序的东西: 我已经按照另一个答案来实现它 在这里我的代码: 在我的ViewController中: var circle = MKCircle(centerCoordinate: location.coordinate, radius: 100) self.mapView.addOverlay(circle) 在我的MKMapView: func mapView(mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer! { if overlay is MKCircle { render = MapFillRenderer(overlay: overlay) return render } else { return nil } } 而MapFillRenderer(MKOverlayRenderer的子类): class MapFillRenderer: MKOverlayRenderer { var colorIn: UIColor var colorOut: UIColor override func drawMapRect(mapRect: MKMapRect, […]

我怎样才能覆盖search栏的MapKit?

我怎样才能覆盖search栏的MapKit? 我喜欢新的Google地图应用程序有一个search框和hover在地图上的button。 看左边的图片: 我不知道如何得到这个,因为我还没有编程iOS超过几个星期。 任何关于如何将UI元素hover在Storyboard / Objective-C上的想法? 据推测,这是一个导航栏已被隐藏,但是这是如何做的,它是如何出现在它下面的地图?

更新MapKit注释字幕和图像

我在网上search了一下,发现了一些关于如何做我想做的事情的想法,但是我仍然想知道你应该怎么做。 这里是上下文: 我正在为iOS 5开发一个应用程序。我使用MapKit来显示地图,并且为它添加​​了大约5000个注释 – 好像很多,但是不用担心,我使用了一个聚类库:)。 为了在用户每次打开地图时不加载它们,我在我的appDelegate中创build它们(我创build了一个批注数组,并调用[_mapView addAnnotations:[appDelegate.annotationsToAdd allObjects]];当我打开地图时)。 创buildannotationsToAdd数组大约需要10秒左右的时间,所以我认为这个解决scheme工作的非常好(你必须等待10秒才能被授权打开地图,但是你只需等待一次,在应用程序启动的时候)。 在每个注释中,我都有一个“链接”到一个对象,其中包含一个值的数组(15浮点数)。 现在,当我创build注释时, subtitle方法返回其中的一个值。 在我的地图的ViewController中,我有2个分段控件。 第一个有3个段,第二个有5个,它给出了15个组合 – 又一次,这是我的注释中对象的数组具有相同数量的值:)。 所以你可能已经看到我的问题来了,我想更新我的地图上的每个注释的字幕(即使群集中的每个注释的字幕,因为群集基于它所持有的引脚给出平均值)。 我也想要的是更新annotationView的颜色/图像基于注释的副标题的值。 我可能是错的,但基于我的研究,我明白,你必须删除所有的注释,并重新创build所有这些。 你明白这不是我的select。 每次他改变其中一个控件的值时,我都不能让用户等待10秒钟。 我看到一篇关于KVO的文章:这可能是一个有效的解决scheme吗? 我不太了解NSNotification,但是我应该使用它们吗? 我真的很感谢你的帮助,我更希望得到一个详细的答案,告诉我在我显然不常见的情况下要遵循的步骤。 提前致谢。

无法识别的select器被调用

在我的应用程序中,我使用注释显示地图,用户可以在表格视图(模式视图控制器)中浏览注释列表。 我遇到了一个奇怪的错误,我可以在设备和模拟器(iOS 7和8)上重现。 在倾斜模式下,如果我尝试在POI表格视图中select一个项目,它将执行以下操作之一: 将地图中心更改为地图上的随机点,而不是选定的注释。 崩溃与我放在消息(NSZombies启用)。 – [__ NSCFString isPitched]:无法识别的select器发送到实例0x7f24e6e0 我尝试了几种方法来解决这个错误,但没有成功。 而令我感到困惑的是,我无法在isPitched方法上find任何信息。 这不是在我的代码中,也不在苹果文档中。 有人知道更多关于MapKit和这些types的问题? 另外,当用户在列表中select一个POI时,你是否知道一种停用音高的方法? 也许它会阻止错误。 编辑:只是发现'isPitched'方法实际上是VectorKit的一部分! 虽然没有真正的帮助。 没有关于VectorKit的文档… 编辑2:添加堆栈跟踪。 – [__ NSCFString isPitched]:无法识别的select器发送到实例0x7db84870 2015-02-28 14:25:08.501 Cartel 2015 [2481:178443] ***终止应用程序由于未捕获的exception“NSInvalidArgumentException”,原因:' – [__ NSCFString isPitched]:无法识别的select器发送到实例0x7db84870' ***第一个投掷堆栈: ( 0 CoreFoundation 0x00afb946 __exceptionPreprocess + 182 1 libobjc.A.dylib 0x00784a97 objc_exception_throw + 44 2 CoreFoundation 0x00b035c5 – [NSObject(NSObject)doesNotRecognizeSelector:] + 277 […]

每个引脚不同的自定义图像

这可能听起来像一个普遍的问题,但我只find答案,如果我想我所有的针脚相同的图像,我不知道。 这就是我现在正在工作: 我有我所有的位置在一个地点arrays(自定义类与长,拉特,名称,引脚名称)。 在viewdidLoad我循环该数组并创build我的引脚与发现的每个对象,请参阅以下代码: for(int i = 0 ; i<[_locationList count] ; i++) { Location *item = [_locationList objectAtIndex:i]; CLLocationCoordinate2D coordinate; coordinate.latitude = item.locationLatitude; coordinate.longitude = item.locationLongitude; NSString *title = item.locationName; CustomAnnotation* ann = [CustomAnnotation new]; ann.name = title; ann.coordinate = coordinate; ann.pinName = [NSString stringWithFormat:@"pin%i.png",item.idPin]; [self.map addAnnotation:ann]; } 这非常简单,部分来自CustomAnnotation类,它是以下代码: @interface CustomAnnotation : MKPointAnnotation <MKAnnotation>{ […]

iPhone:获取谷歌地图的选定缩放级别

当用户使用Mapkit在Google地图上进行放大或缩小时,我们需要获取当前选定的MKMapView的缩放级别。 我们尝试过的解决scheme在模拟器上运行良好,但在真实设备(具有iOS 3.0.1的iPhone 3GS)上运行得不错。 我们需要运行在iOS 3 +(包括iOS 4)上, 以下是我们用来获取缩放级别的代码: 放大/缩小时,Mapkit调用这个委托: (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated 依次调用我们的Mapzoomlevel函数: #define MERCATOR_RADIUS 85445659.44705395 -(float) Mapzoomlevel { return 21 – round(log2(_mapView.region.span.longitudeDelta * MERCATOR_RADIUS * M_PI / (180.0 * _mapView.bounds.size.width))); } 此代码取自(请参阅获取缩放级别示例第一个评论发布在这个博客): – http://troybrant.net/blog/2010/01/set-the-zoom-level-of-an-mkmapview/

计算我的位置和Swift上的MapKit引脚之间的距离

我需要你的帮助,我正在一个应用程序,我有一些针(地点),我想要的是让每个人和我的位置之间的距离。 我的代码如下 let annotation = MKPointAnnotation() let annotationTwo = MKPointAnnotation() let saintPaulHospitalBC = MKPointAnnotation() override func viewDidLoad() { super.viewDidLoad() mapita.showsUserLocation = true // Mapita is the name of the MapView. annotation.coordinate = CLLocationCoordinate2D(latitude: 25.647399800, longitude: -100.334304500) mapita.addAnnotation(annotation) annotationTwo.coordinate = CLLocationCoordinate2D(latitude: 25.589339000, longitude: -100.257724800) mapita.addAnnotation(annotationTwo) saintPaulHospitalBC.coordinate = CLLocationCoordinate2D(latitude: 49.280524700, longitude: -123.128232600) mapita.addAnnotation(SaintPaulHospitalBC) } 当我运行代码时,地图显示了引脚,但是我还能做些什么来开始计算距离? 谢谢!