gpt4 book ai didi

ios - SKMaps iOS : Pin disappears when panning the Map

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:38:48 25 4
gpt4 key购买 nike

使用新版本 (2.1.0) 我遇到了问题。滚动 map 时注释消失。在演示项目中它工作正常。再次添加框架也无济于事。

- (void)viewDidLoad {
[super viewDidLoad];

placeDetail = [[PlaceDetailViewController alloc] init];
latitude = [placeDetail Latitude];
longitude = [placeDetail Longitude];

self.placeMapView = [[SKMapView alloc] init];
self.placeMapView.frame = CGRectMake(0.0f, 0.0f, CGRectGetWidth(self.view.frame), CGRectGetHeight(self.view.frame));
self.placeMapView.delegate = self;
self.placeMapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
self.placeMapView.settings.poiDisplayingOption = SKPOIDisplayingOptionNone;
[self.view addSubview:self.placeMapView];

//add a circle overlay
for(int i=0;i<latitude.count;i++)
{
//set the map region
SKCoordinateRegion region;
region.center = CLLocationCoordinate2DMake([latitude[i] floatValue], [longitude[i] floatValue]);
region.zoomLevel = 17;
self.placeMapView.visibleRegion = region;

SKAnnotation *mapAnnotation = [SKAnnotation annotation];
mapAnnotation.identifier = i;
mapAnnotation.minZoomLevel = 5;

mapAnnotation.annotationType = SKAnnotationTypeRed;
mapAnnotation.location = CLLocationCoordinate2DMake([latitude[i] floatValue], [longitude[i] floatValue]);

[self.placeMapView addAnnotation:mapAnnotation];
}
}

注释创建

-(void)mapView:(SKMapView *)mapView didSelectAnnotation:(SKAnnotation *)annotation {

self.placeMapView.calloutView.titleLabel.text= placeDetail.Name;
self.placeMapView.calloutView.titleLabel.font = [UIFont fontWithName:@"PTSans-Narrow" size:15];
self.placeMapView.calloutView.subtitleLabel.text = @"";
[self.placeMapView showCalloutForAnnotation:annotation withOffset:CGPointMake(0, 42) animated:YES];
[self.placeMapView.calloutView.rightButton addTarget:self action:@selector(backToDetailView) forControlEvents:UIControlEventTouchUpInside];
}

非常感谢您的帮助。

编辑:我想我发现了导致这种行为的问题。在我的应用程序中,我有两种 map 。一张迷你 map 和一张大 map 。而是两种不同的看法。当我停用迷你 map 时,它会起作用。所以我认为这与 SKMap 框架的加载有关。目前迷你 map 功能是在view did load方法中调用的。所以你知道在这里做什么?

最佳答案

这是 2.1 和 2.2 版 SDK 中的错误 - 将在 2.3 中修复(预计 2014 年 11 月)。

对于 2.1/2.2 有一个解决方法:小 map 和大 map 上的注释有不同的 id。例如,你在小 map 上有 N 个注释,id 为 0..N-1,那么大 map 上会有 id 从 N 开始的注释。因此,对于大 map 上的 M 个注释,您将拥有来自 N..M-1 的 id 的注释。

关于ios - SKMaps iOS : Pin disappears when panning the Map,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24954371/

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