iphone中谷歌地图上Pin码上的地址,而不是数字

iphone中谷歌地图上Pin码上的地址,而不是数字,iphone,Iphone,在上图中,您可以看到pin上的数字 我不想要那个数字, 相反,当用户点击该pin时,应该显示该位置的地址 我不知道怎么做? 我听说过定制pin。 我正在努力。 但是如果你知道,你能帮我吗 提前感谢。如果您使用的是MKMapView,那么您需要创建自己的地图以添加到地图中。annotation类实现以下实例方法: -(NSString*)title-返回pin的标题,通常是第一行 -(NSString*)subtitle-返回pin的字幕,通常是第二行。如果您使用的是MKMapView,则需要创建

在上图中,您可以看到pin上的数字

我不想要那个数字, 相反,当用户点击该pin时,应该显示该位置的地址

我不知道怎么做? 我听说过定制pin。 我正在努力。 但是如果你知道,你能帮我吗


提前感谢。

如果您使用的是
MKMapView
,那么您需要创建自己的地图以添加到地图中。annotation类实现以下实例方法:

-(NSString*)title
-返回pin的标题,通常是第一行


-(NSString*)subtitle
-返回pin的字幕,通常是第二行。

如果您使用的是
MKMapView
,则需要创建自己的字幕添加到地图中。annotation类实现以下实例方法:

-(NSString*)title
-返回pin的标题,通常是第一行


-(NSString*)subtitle
-返回pin的副标题,通常是第二行。

这里有两个选项:

  • 如果您只想获取纬度/经度并将其显示为地图上的地址,则需要使用
    MKReverseGeocoder
    类,该类将弹出一个
    MKPlacemark
    ,然后可以使用
    addAnnotation:
    将其添加到
    MKMapView

  • 如果您想将某类“东西”添加到地图中,例如“人”,则应使该类符合
    MKAnnotation
    协议(即,它需要坐标、标题和副标题属性)。然后,您可以在
    MKMapView
    委托上实现
    mapView:viewForAnnotation:
    方法,并返回
    MKAnnotationView
    的自定义子类。当您的“人”在地图视图中可见时,这将添加到地图中


  • 这里有两个选项:

  • 如果您只想获取纬度/经度并将其显示为地图上的地址,则需要使用
    MKReverseGeocoder
    类,该类将弹出一个
    MKPlacemark
    ,然后可以使用
    addAnnotation:
    将其添加到
    MKMapView

  • 如果您想将某类“东西”添加到地图中,例如“人”,则应使该类符合
    MKAnnotation
    协议(即,它需要坐标、标题和副标题属性)。然后,您可以在
    MKMapView
    委托上实现
    mapView:viewForAnnotation:
    方法,并返回
    MKAnnotationView
    的自定义子类。当您的“人”在地图视图中可见时,这将添加到地图中


  • 是的,我有不同的解决方案。根据@MSAED的指示, 我已经更改了类的构造函数。我已经实现了以下代码&它按照我的要求工作

    -(NSString *)subtitle {
    return [NSString  stringWithFormat:@"%f",coordinate.latitude];
    }
    -(NSString *)title {
    return Title;
    //  return [NSString stringWithFormat:@"%f",coordinate.longitude]; 
    }
    
    -(id)initWithCoordinate: (CLLocationCoordinate2D) c  
    {
    coordinate=c;
    return self;
    
    }
    
    -(id)initWithCoordinate: (CLLocationCoordinate2D) c Title:(NSString*)xz
    
    {
    coordinate=c;   
    if(self=[super init])
    {
        if(Title!=nil)
            [Title release];
        Title=[[NSString alloc]initWithString:xz];
    }
    return self;
    
    }

    注意下面的图片,我已经解决了。
    是的,我得到了一些不同的解决方案。根据@MSAED的指示, 我已经更改了类的构造函数。我已经实现了以下代码&它按照我的要求工作

    -(NSString *)subtitle {
    return [NSString  stringWithFormat:@"%f",coordinate.latitude];
    }
    -(NSString *)title {
    return Title;
    //  return [NSString stringWithFormat:@"%f",coordinate.longitude]; 
    }
    
    -(id)initWithCoordinate: (CLLocationCoordinate2D) c  
    {
    coordinate=c;
    return self;
    
    }
    
    -(id)initWithCoordinate: (CLLocationCoordinate2D) c Title:(NSString*)xz
    
    {
    coordinate=c;   
    if(self=[super init])
    {
        if(Title!=nil)
            [Title release];
        Title=[[NSString alloc]initWithString:xz];
    }
    return self;
    
    }

    注意下面的图片,我已经解决了。

    非常感谢, 你让我开心, 当我发现这件事时,我非常惊讶 我的字幕不是nsstring stringwithformat, 它崩溃了,当我直接给它分配相同的硬编码值时,它正在接受 以字符串格式。很奇怪,, 现在至少它没有崩溃 非常感谢您的解决方案

    非常感谢, 你让我开心, 当我发现这件事时,我非常惊讶 我的字幕不是nsstring stringwithformat, 它崩溃了,当我直接给它分配相同的硬编码值时,它正在接受 以字符串格式。很奇怪,, 现在至少它没有崩溃
    非常感谢您的解决方案

    pin的上下文是什么?这是MapKit地图视图中的注释吗?请注意我的答案。我已经解决了。pin的上下文是什么?这是MapKit地图视图中的注释吗?请注意我的答案。我已经解决了。我已经有了下面两种方法-(NSString*)副标题{return[NSString stringWithFormat:@“%f”,坐标.纬度];}-(NSString*)标题{return[NSString stringWithFormat:@“%f”,坐标.经度];}-(id)initWithCoordinate:(CLLocationCoordinate2D)c{coordinate=c;NSLog(@“%f%f”,c.纬度,c.经度);返回self;}我应该改变什么?我已经有了以下两种方法-(NSString*)副标题{return[NSString stringWithFormat:@“%f”,坐标.纬度];}-(NSString*)标题{return[NSString stringWithFormat:@“%f”,坐标.经度];}-(id)initWithCoordinate:(CLLocationCoordinate2D)c{坐标=c;NSLog(@“%f%f”,c.纬度,c.经度);返回self;}我应该更改什么??