gpt4 book ai didi

ios - 其他图钉后面的标注弹出窗口

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

我正在制作一张包含 5000 多个图钉的 map 。每次更改区域时,我都会根据缩放比例添加或删除 annotationViews。

唯一的问题是这个(极限测试):

Callout being eaten alive

当图钉之间的空间变少时,标注会移动到顶部,但红色图钉通常在顶部。
我只使用基本的 MKPinAnnotationView。没有自定义标注。我确实尝试通过 Aaron 实现 Z 排序类别 Z-ordering of MKAnnotationViews但似乎没有帮助。

编辑:

我还没有解决,但我确实有一些想法。

MapKit 写得不好。 MapView 有责任对 View 进行排序,以便至少选中的 View 保持在顶部。

也许 mapView 处理的注释太多了。

如何复制

只需添加 5000 个注释。

-(void)addAnnotations
{
NSMutableArray *annotations = [NSMutableArray array];

for(int i=0;i<5000;i++) {
CGFloat latDelta = rand()*0.125/RAND_MAX - 0.02;
CGFloat lonDelta = rand()*0.130/RAND_MAX - 0.08;

CGFloat lat = 59.189358;
CGFloat lng = 18.267839;

CLLocationCoordinate2D newCoord = {lat+latDelta, lng+lonDelta};

DTSAnnotation *annotation = [DTSAnnotation annotationWithCoord:newCoord];

[annotation setTitle:@"."];

[annotations addObject:annotation];
}
[[self mapView]addAnnotations:annotations];
}

最佳答案

您可以通过在 didSelect 和 didDselect map View 委托(delegate)方法中设置 View 的 zPosition 来解决此问题:

public func mapView(mapView: MKMapView!, didSelectAnnotationView view: MKAnnotationView!)
{
view.layer.zPosition = 0
}

public func mapView(mapView: MKMapView!, didDeselectAnnotationView view: MKAnnotationView!)
{
view.layer.zPosition = -1
}

关于ios - 其他图钉后面的标注弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14429778/

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