【问题标题】:MapKit problems with annotationsMapKit 的注释问题
【发布时间】:2010-09-08 15:54:47
【问题描述】:

好的,我的 MapKit 注释有一些问题。

首先,我想要每个注释的标注。我根本不知道该怎么做! :( 我有两个 NSStrings(地点名称和简短描述)。然后我需要能够记录对标注的点击 - 这样我就可以启动披露视图。

其次,我想更改用户位置注释的视图。

目前所有注释都通过此代码设置为“默认”引脚注释视图:

- (MKAnnotationView *) mapView:(MKMapView *)myMapView viewForAnnotation:(id <MKAnnotation>) annotation{
    MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentloc"];
    annView.animatesDrop=TRUE;
    return annView;
}

我希望将用户位置注释设置为默认的蓝色脉动圆圈事物,但至少我希望能够将pinColor 属性更改为不同的颜色,以便用户可以区分自己的位置以及他们的搜索结果。

我希望有人可以帮助我。

谢谢。

【问题讨论】:

    标签: iphone mapkit mkmapview


    【解决方案1】:

    我认为您应该考虑使用 showsUserLocation 来描述您的用户位置 - 它是平台的标准 UI,可帮助人们获得跨应用的一致体验。当然,您可以为用户位置提供一些自定义注释,但为什么要重新发明人们习惯于在地图应用和许多第三方应用上看到的内容呢?

    您应该花时间查看 Apple 的 MapKit 代码示例,您需要做的所有事情都在那里。这对你来说是一个很好的起点:

    http://developer.apple.com/iphone/prerelease/library/samplecode/MapCallouts/Introduction/Intro.html

    【讨论】:

    • am 使用的是 showUserLocation 哈哈,但它会将漂亮的蓝色脉冲变为针脚……:/ 我不知道为什么。
    • 您正在为当前位置使用重用标识符
    • 对...我该如何阻止它?即:如何区分当前位置注释和其他注释?
    • reuseIdentifier:@"SomeOtherStringThatIsNotTheSameAsTheIdentifierBeingUsedByCurrentLocation"
    • hmm...问题是我不知道当前位置正在使用哪个注释。没关系 - 我现在找到了。像if(annotation == mapView.userlocation){ return nil; } 或类似的东西。 :) 感谢您的帮助。
    【解决方案2】:

    嗯...问题是我不知道当前位置使用的是哪个注释。没关系 - 我现在找到了。类似 if(annotation == mapView.userlocation){ return nil; } 或类似的。 :) 感谢您的帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-08
      • 2021-05-03
      • 1970-01-01
      • 2021-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多