iPhone:如何启用MKUserLocation'blue dot'?

时间:2010-09-02 09:43:18

标签: iphone annotations mkmapview

通过

启用“蓝点”,显示我的应用程序中的当前位置
mapView.showsUserLocation = YES

通过

禁用/隐藏点
mapView.showsUserLocation = NO

为了放针。到现在为止还挺好。

在'userLocation'处添加注释图钉并将其在地图中拖动到新位置。之后我想通过再次将showsUserLocation设置为YES来再次显示蓝点 - 但它根本没有出现!可能是什么问题呢?有没有办法强制它再次显示(重置userLocation?)与任何其他方法?涉及哪些事件?

感谢有关这方面的任何帮助..

2 个答案:

答案 0 :(得分:3)

检查您是否使用- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation 方法自定义annotationView尝试:

if (annotation==_mapView.userLocation ) {
    return nil;
}
else {
    //...
    //costumizing pins for other annotations on mapview

    //return customized annotationview
}

答案 1 :(得分:3)

试试这个:

if ([annotation isKindOfClass:[MKUserLocation class]])  return nil;

使用类而不是注释== _ mapView.userLocation意味着你停止使用_mapView.userLocation或其他什么,这一行不会中断。