gpt4 book ai didi

iphone - 尝试让 MKPolygon 叠加工作

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

试图弄清楚这个 MKPolygon 的工作原理。我创建了整个堆 MKMapPoints 并将它们放入一个数组中。然后我用它们制作一个多边形:

[MKPolygon polygonWithPoints:pointArr count:sqlite3_column_int(countStatement, 0)];

并将其添加到数组中以便稍后检索。

后来我循环遍历数组并将每个对象(MKPolygon)添加到 map 中:

[mapView addOverlay:[overlays objectAtIndex:i]];

根据日志,这工作正常。

然后我实现mapView: viewForOverlay: 像这样

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay {
MKOverlayView *theOverlayView = nil;
for (MKPolygon *theOverlay in overlays) {
if (theOverlay == overlay) {
MKPolygonView *thePolygonView = [[[MKPolygonView alloc] initWithPolygon:theOverlay] autorelease];
theOverlayView = thePolygonView;

}
}
return theOverlayView;
}

据我所知,这在技术上应该可行。但事实并非如此,应用程序只是在到达我认为其所在的 map 区域时崩溃(由于经纬度混淆或转换错误,点可能是错误的,但那是另一回事)

我是否缺少一些需要设置的属性,或者错误的点是否会导致崩溃?还是我完全错过了?

为任何帮助干杯。

最佳答案

这实际上是正确的,但我犯了一个错误,将比我记得的更多内容放入叠加层中 - 它实际上是存储 MKPolygon 和字符串的字典数组。纠正这个问题就可以了。

关于iphone - 尝试让 MKPolygon 叠加工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3518089/

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