gpt4 book ai didi

iphone - 如何在mapkit中显示用户位置?

转载 作者:行者123 更新时间:2023-12-03 19:26:39 25 4
gpt4 key购买 nike

我想显示用户位置的蓝色脉冲点。我正在这样做:

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation    *)newLocation fromLocation:(CLLocation *)oldLocation{
//some other stuff here
[self.mapView setShowsUserLocation:YES];
}

但我最终得到

-[MKUserLocation establishment]: unrecognized selector sent to instance 0x125e90

我应该采取其他方式吗?

-- 编辑--

我也在这样做,这就是我最终得到上述异常的地方:

- (MKAnnotationView *) mapView:(MKMapView *)_mapView viewForAnnotation:(AddressNote *) annotation{

if(annotation.establishment != nil){
//do something}

建立是我在 AddressNote 上的一个自定义类。当建立有值时,就会发生异常。如果我不设置 ShowsUserLocation,一切正常,但当然,我看不到用户位置。

最佳答案

当请求viewForAnnotation时,您需要检查给定的注释是否对应于当前用户位置。如果是,则返回nil,否则返回自己正常的annoationView。

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id )annotation {
if (annotation==self.mapView.userLocation)
return nil;
//then the rest of your code for all your 'classic' annotations.<p></p>

<p></p>

[编辑]另一种方法是检查注释的类的类型:


- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id )annotation {
if ([annotation isKindOfClass:[MKUserLocation class]])
return nil;
//then the rest of your code for all your 'classic' annotations.

关于iphone - 如何在mapkit中显示用户位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2443342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com