Tag: mkannotation

使用NSMutableArray保存并加载MapAnnotation引脚

我需要帮助我的MapAnnotation代码。 我想保存地图引脚,以便用户可以回到地图上,看看他/她已经放置的地图。 但是这个代码在视图加载时不显示引脚。 添加和保存引脚的代码: – (void)addPinToMap:(UIGestureRecognizer *)gestureRecognizer { if (gestureRecognizer.state != UIGestureRecognizerStateBegan) return; CGPoint touchPoint = [gestureRecognizer locationInView:self.mapView]; CLLocationCoordinate2D touchMapCoordinate = [self.mapView convertPoint:touchPoint toCoordinateFromView:self.mapView]; //NSMutableArray *pincoords = (NSMutableArray *)[[NSUserDefaults standardUserDefaults] objectForKey:@"saveCoords"]; NSMutableDictionary *pindict; NSUserDefaults *def = [NSUserDefaults standardUserDefaults]; NSMutableArray *pincoords = [def objectForKey:@"saveCoords"]; CLLocationCoordinate2D coordinates; coordinates.latitude = touchMapCoordinate.latitude; coordinates.longitude = touchMapCoordinate.longitude; NSNumber* latDegrees = [NSNumber […]

将UIButton添加到MKAnnotationView

我有一个MKAnnotationView的自定义类,我试图以循环的方式添加8button的注释。我添加了button。他们在视图中的位置是完全正确的,但button的动作不为什么这个动作没有被调用,什么是解决scheme。 -(void)setSelected:(BOOL)selected animated:(BOOL)animated` { [super setSelected:selected animated:animated]; if(selected) { UIView *circularView = [[UIView alloc]initWithFrame:CGRectMake(-55, -55, 110, 110)]; circularView.tag = 1000; UIButton *btn1; UIButton *btn2; UIButton *btn3; UIButton *btn4; UIButton *btn5; UIButton *btn6; UIButton *btn7; btn1 = [UIButton buttonWithType:UIButtonTypeCustom]; [circularView addSubview:btn1]; btn1.userInteractionEnabled = YES; UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(buttonTapped:)]; tap.numberOfTapsRequired = 1; [btn1 addGestureRecognizer:tap]; […]

为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]; […]

如何在iPhone应用程序内的MKMapView中显示和连接多个位置与注释的路线?

我需要显示具有不同注释的4个以上位置的MKMapView和连接位置的路线。 我试图显示在MKMapView内的多个位置,但我仍然无法find如何连接路线的位置。 我也试图得到这个检查,如果我已经以正确的方式实施。 我已经创build了一个“CLLocationCoordinate2D” ,然后添加一个经纬度为4点。 我创build了一个实现MKAnnotation并返回一个位置的自定义对象。 CLLocationCoordinate2D coordinate1 = CLLocationCoordinate2DMake(40.7180583 ,-74.007109); CLLocationCoordinate2D coordinate2 = CLLocationCoordinate2DMake(40.716355 ,-74.006816); CLLocationCoordinate2D coordinate3 = CLLocationCoordinate2DMake(40.715281 ,-74.005485); CLLocationCoordinate2D coordinate4 = CLLocationCoordinate2DMake(40.71559 ,-74.003114); AnnotationPoints *location1 = [[AnnotationPoints alloc] initWithCoordinate:coordinate1]; AnnotationPoints *location2 = [[AnnotationPoints alloc] initWithCoordinate:coordinate2]; AnnotationPoints *location3 = [[AnnotationPoints alloc] initWithCoordinate:coordinate3]; AnnotationPoints *location4 = [[AnnotationPoints alloc] initWithCoordinate:coordinate4]; NSArray *poiArray = [[NSArray alloc] […]

MKPinAnnotationView下载的图像(@ 3x)不能用于6+

我在我的应用程序上使用地图,对于引脚删除,我想设置用户的图像,而不是默认引脚。 我正在下载用户图像,并按照我粘贴下面的代码进行设置。 对于不同规模的设备,我使用的图像名称按照设备规模,例如, 1对于非视网膜设备 – pin.png(尺寸30 x 30) 2对于视网膜设备 – pin@2x.png(尺寸60 x 60) 3对于6+设备 – pin@3x.png(尺寸90 x 90) 这里为1和2工作正常和图像负载完美但是对于6 +(3倍规模)它不工作 什么是问题是: 对于6+我下载PIN @ 3X图像,但在地图上它的大小是90×90,应该是30×30。因为它只是适用于从应用程序捆绑使用的图像。 对于pin@2x.png,它工作正常,并显示大小为30 x 30的2x图像。 我也试图通过设置图像的比例而不是解决scheme MKPinAnnotationView:有三种以上的颜色可用吗? 我尽力解释实际问题,如果我错过了任何东西,或者是否需要设置任何东西,任何人都可以指导吗? 码 – (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation { MKPinAnnotationView *annotationView = nil; if ([annotation isKindOfClass:[MKUserLocation class]]) { return nil; } if ([annotation isKindOfClass:[KPAnnotation class]]) { //Custom […]

expression式不可分配,来自MKAnnotation类委托的坐标属性

我做了这个模式,以更好地解释我的烦恼。 那么,我能做些什么来解决它? 谢谢=)

MapKit注解没有显示在地图上

我无法在MapKit的地图上显示MKAnnotationViews。 我正在使用iOS 7,现在已经在论坛和网上search了很多小时,尝试了不同的样本和设置。 下面我有最基本的设置可能(我认为)使其工作。 该应用程序包含一个单独的ViewController,顶部有一个button,剩下的就是MapView。 该button触发方法zoomToUser:(UIBarButtonItem *)发件人。 右键点击并检查我的网点和代表似乎是正确的。 我有一些NSLog语句被触发输出一些debugging信息。 首先是VC: #import "ViewController.h" #import "Data.h" @interface ViewController () <MKMapViewDelegate> @property (weak, nonatomic) IBOutlet MKMapView *mapView; – (IBAction)zoomToUser:(UIBarButtonItem *)sender; @end @implementation ViewController – (void)viewDidLoad { [super viewDidLoad]; self.mapView.showsUserLocation = YES; Data *ann = [[Data alloc] init]; [self.mapView addAnnotation:ann]; } -(void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; [self zoomToUser:nil]; } -(IBAction)zoomToUser:(UIBarButtonItem […]

ios5从mapview中删除注释

我刚刚开始在iOS,有一个初学者的问题。 我只是想添加并从我的地图删除一个别针,但得到一个错误: MapViewAnnotation类的实例0x6ec5750被释放,而键值观察者仍然在其中注册。 观测信息被泄露,甚至可能被误认为是其他物体。 我有一个带有头文件的MapViewAnnotation类 #import <Foundation/Foundation.h> #import <MapKit/MapKit.h> @interface MapViewAnnotation : NSObject <MKAnnotation>{ NSString *title; CLLocationCoordinate2D coordinate; } @property (nonatomic, copy) NSString *title; @property (nonatomic, readonly) CLLocationCoordinate2D coordinate; – (id)initWithTitle:(NSString *)ttl andCoordinate:(CLLocationCoordinate2D)c2d; @end 和#import“MapViewAnnotation.h”的.m文件 @implementation MapViewAnnotation @synthesize title, coordinate; – (id)initWithTitle:(NSString *)ttl andCoordinate:(CLLocationCoordinate2D)c2d { self = [super init]; title = ttl; coordinate = c2d; […]

在mapview iOS 6中绘制折线

您好我正在做一个应用程序,必须显示与路线的地图。 我parsing了Json以获取绘制折线的点。 我在网上find了一个代码来绘制这条折线。 代码我发现它在这个链接: http : //iosguy.com/2012/05/22/tracing-routes-with-mapkit/ 它说“创buildMKPolyline批注”我试图导入这个在我的应用程序,但我有问题来创build坐标的数组。 我的方法是这样的: – (void)createMKpolylineAnnotation { NSInteger numberOfSteps = self.path.count; CLLocationCoordinate2D *coords = malloc(sizeof(CLLocationCoordinate2D) * numberOfSteps); for (NSInteger index = 0; index < numberOfSteps; index++) { CLLocation *location = [self.path objectAtIndex:index]; CLLocationCoordinate2D coordinate = location.coordinate; coords[index] = coordinate; } MKPolyline *polyLine = [MKPolyline polylineWithCoordinates:coords count:numberOfSteps]; [self.mapView addOverlay:polyLine]; } 当我试图只看第一次设定坐标的价值时,为什么呢? […]

具有集群的MapView:如何在同一个视图上显示多个注释

我已经在mkmapview上集成了FBAnnotationClustering ,它完美地工作,但是当在同一个地方有多个注释时,我不能用正确的信息显示annotationView。 我试图通过注释循环,并显示在相同的视图(每个与标注button显示更多信息)。 到目前为止,我设法做一个标注工作,以显示底部的细节,但在注解视图显示它没有正确的标题,只有一个,所以它不是很有用。 所以我想知道,是否有可能在同一个视图上显示多个注释? 任何想法我怎么能实现这个? 这是我的集群类: class FBAnnotationCluster : NSObject { var coordinate = CLLocationCoordinate2D(latitude: 39.208407, longitude: -76.799555) var title:String = "cluster" var subtitle:String? = nil var annotations:[FBAnnotation] = [] } 我的单个注释类: class FBAnnotation : NSObject { var coordinate: CLLocationCoordinate2D var id: Int var title: String var subtitle: String var distance: String init(id: Int, […]