Tag: mapkit

有什么方法可以重置dequeueReusableAnnotationViewWithIdentifier中使用的队列吗?

我在mapview中添加自定义注释。 基于应用程序的内部模型,注释可以改变颜色和标题(尽pipe位置可能不会改变)。 我在方法中使用dequeueReusableAnnotationViewWithIdentifier – (MKAnnotationView *)mapView:(MKMapView *) viewForAnnotation:(id <MKAnnotation>) 奇怪的是,当模型改变时,注解被“刷新”以使用正确的标题和颜色(我只是使用removeAnnotations:并添加新的),但是随后在使用地图时,一些错误颜色的旧注释被取消。 每次模型更改时,我都使用不同的标识符。 这里是代码: – (MKAnnotationView *)mapView:(MKMapView *)theMapView viewForAnnotation:(id <MKAnnotation>)annotation{ // in case it's the user location, we already have an annotation, so just return nil if ([annotation isKindOfClass:[MKUserLocation class]]){ return nil; } if ([annotation isKindOfClass:[APGSAnnotation class]]){ APGSAnnotation *gsn = (APGSAnnotation*) annotation; NSString *GSAnnotationIdentifier = [NSString stringWithFormat:@"gid_%lu_%@", […]

一旦appclosures,如何保存Pin注解(Swift)

目前,我的应用钉住一个位置,该位置是这样的商店: func locationManager(manager: CLLocationManager!, didUpdateLocations locations: [AnyObject]!) { // Find location of user var userLocation:CLLocation = locations[0] as! CLLocation var latitude = userLocation.coordinate.latitude var longitude = userLocation.coordinate.longitude var latDelta:CLLocationDegrees = 0.01 var longDelta: CLLocationDegrees = 0.01 var span: MKCoordinateSpan = MKCoordinateSpanMake(latDelta, longDelta) var location:MKUserLocation = currentLocation; var region: MKCoordinateRegion = MKCoordinateRegionMake(location.coordinate, span) var coordinate:CLLocationCoordinate2D = […]

iOS MapKit:如何在拖放标记期间获取地图?

我已经枉然寻找这方面的答案。 在Google Maps JavaScript API中,当您拖动标记并靠近边缘时,地图将为标记腾出空间,并将更多地图带入视图。 这对于从地点A开始然后拖到地点B是非常有用的; 即使B目前不在地图上。 显然,这在MapKit中是不可能的。 似乎没有任何内置的function。 很公平。 我会写我自己的。 我会沿着边缘build立起reflection,如果拖动进入它们,地图开始平移。 我会加速平移,基于边缘的接近。 除了:在拖动过程中似乎也无法获得标记位置。 你只能得到它之前和之后。 那种恶作剧我的好主意。 我通过编写一个在拖动开始时启动的NSTimer来testing它,并在最后失效。 它反复调用一个函数来读取注释对象的位置。 在拖动过程中该位置永远不会改变。 问题:关于如何让这个“自动锅”工作的任何想法?

无法识别的select器发送到实例?

如何解决这样的错误:无法识别的select器发送到实例? CLLocationCoordinate2D userCoordinate = userLocation.location.coordinate; CGFloat latDelta = rand()*.035/RAND_MAX -.02; CGFloat longDelta = rand()*.03/RAND_MAX -.015; CLLocationCoordinate2D newCoord = { userCoordinate.latitude + latDelta, userCoordinate.longitude + longDelta }; myPoint *mp = [[myPoint alloc] initWithCoordinate:newCoord title:[NSString stringWithFormat:@"Vitaliy Home %d",i] subTitle:@"Home Sweet Home"]; [mv addAnnotation:mp]; //mv – (MKMapView *)mv 错误在线: myPoint *mp = [[myPoint alloc] initWithCoordinate:newCoord title:[NSString stringWithFormat:@"Vitaliy Home […]

删除mapkit中的边框

我正在使用一个ios应用程序的Mapkit,我想删除国家之间的边界。 我发现一个JavaScript代码,允许使用本地的谷歌地图API: [ { featureType: "administrative.country", stylers: [ { visibility: "off" } ] } ] 要用mapkit来做,请问有什么解决办法吗? 谢谢

使用Apple Map Kit从某个位置获取周围的邮政编码

我开始使用Map Kit来开展工作,我有一个IOS项目,涉及Map Kit,我知道如何search一个位置并指向它,但是我的问题是我的项目的一部分涉及到我的中心位置周边地区的下一个10-15邮政编码,并收到在每个邮政编码的城市,我真的不知道如何实施它,我需要帮助。 一个解释或一段代码将不胜感激。

MKMapView获取自定义路线上的坐标之间的距离

我有一个自定义的路线在地图上,并希望得到MKMapView上的两个坐标之间的距离。 以下是我迄今为止所做的步骤… 我已经抓住了坐标点并准备了一个CLLocationCoordinate2D数组(像customRoute = [CLLocationCoordinate2D] )。 为了显示路线,使用坐标数组,我使用MKOverlay方法绘制了MKPolyline 。 并使用distanceFromLocation方法计算两个坐标之间的distanceFromLocation 。 当我计算距离时,得到的距离是直线距离,但不是基于方向。 可以说,用户在位置A(在自定义路线上)并且想要到达位置B(在自定义路线上)。 所以我想要计算的是A和B之间的距离(不是直线距离)。 现在我正在从用户位置找出最近的坐标,并通过循环坐标数组来计算到目的地的距离。 但是,如果有多条路线,而最近的点位于另一条路线上,则不会给出正确的结果。 我想到的一件事是在地图上设置自定义方向,并find距离,但我不知道如何实现这一目标。 正在使用的语言是Swift。 任何forms的帮助/build议非常感谢。

将自定义注释添加到MKMapview

我正在尝试添加批注到MKMapView 我创build了一个符合MKAnnotation协议的类CustomMapPin #import <Foundation/Foundation.h> #import <MapKit/MapKit.h> @interface CustomMapPin : NSObject <MKAnnotation> { CLLocationCoordinate2D coordinate; NSString *title; NSString *subtitle; } @property(nonatomic, assign) CLLocationCoordinate2D coordinate; @property(nonatomic, copy) NSString *title; @property(nonatomic, copy) NSString *subtitle; @property(nonatomic, strong) NSString *type; // this is to differentiate between the different annotations on the map @end 我创build了一个类CustomMapAnnotationView ,它是MKAnnotationView的子类 CustomMapAnnotationView.h #import <Foundation/Foundation.h> #import <MapKit/MapKit.h> […]

类 – (MyAnnotation注释)被释放

类 – (MyAnnotation注释)的一个实例0x11d0ce4b0被释放,而键值观察者仍然注册它。 观测信息被泄露,甚至可能被误认为是其他物体。 在NSKVODeallocateBreak上设置断点,在debugging器中停止。 以下是当前的观察信息: 但是我已经在我的dealloc方法上放了一个断点 ,在那里,我注销了那些通知。 Dealloc被调用,而且我确实检查了它是同一个对象,并且所有的注销调用都在那里。 所以我不知道如何去除观察者。

MKPolygon覆盖整个地球

我正在尝试创build一个覆盖整个地球的MKPolygon,但找不到合适的坐标。 我的代码如下所示: CLLocationCoordinate2D pathCoords[5]={ CLLocationCoordinate2DMake(0,-90), CLLocationCoordinate2DMake(0,90), CLLocationCoordinate2DMake(-180,90), CLLocationCoordinate2DMake(180,-90), CLLocationCoordinate2DMake(0,-90), }; MKPolygon *result = [MKPolygon polygonWithCoordinates:pathCoords count:5]; 我发现这篇文章可以帮助您: http : //www-01.ibm.com/support/knowledgecenter/SSEPGG_9.5.0/com.ibm.db2.luw.spatial.topics.doc/doc/geodnew1039296.html 但是在mapKit中使用这些协调的收益总是不同的结果。 谁能帮忙?