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

时间:2009-08-11 00:18:28

标签: iphone

alt text http://www.freeimagehosting.net/uploads/a96118564f.png

在上图中,您可以看到引脚上的数字。

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

我不知道怎么样? 我听说过自定义引脚。 我在尝试。 但是如果你知道的话,你会帮助我吗?

提前致谢。

4 个答案:

答案 0 :(得分:4)

你有两个选择:

  1. 如果你想做的只是取纬度/经度并将其作为地图上的地址显示,你需要使用MKReverseGeocoder类来吐出{{1}然后可以使用MKPlacemark

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

非常感谢, 你让我今天一整天都感觉很好, 当我发现它时,我感到非常惊讶 我的副标题不是采用nsstring stringwithformat, 当我分配直接相同的硬编码值时,它正在崩溃 字符串格式。很奇怪 , 现在至少它没有崩溃 非常感谢解决方案

答案 3 :(得分:0)

是的,我得到了一些不同的解决方案。按照@msaeed的说明, 我已经改变了我班级的构造函数。我已经实现了以下代码&它像我所要求的那样工作

-(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;

}

注意下面的图像,我已经解决了。 image solved. http://www.freeimagehosting.net/uploads/fae045c2bf.png