gpt4 book ai didi

iphone - 向 MKMapView 添加未知数量的注释

转载 作者:行者123 更新时间:2023-11-29 04:21:54 25 4
gpt4 key购买 nike

因此,我使用 map 为联系人中具有地址的每个人添加点,但我很难弄清楚如何为未知数量的联系人进行设置。现在,按照我的设置方式,它只是为列表中的最后一个联系人添加一个 pin。这是一些代码:address 是从 addressProperty 设置的字符串。

if(addressProperty != nil)
{
[location geocodeAddressString:address completionHandler:^(NSArray *placemarks, NSError *error) {
NSMutableArray *array = [[NSMutableArray alloc]init];

for(int a = 0; a < [placemarks count]; a++)
{

self.placeMarkData = [placemarks objectAtIndex:a];
[point setCoordinate: self.placeMarkData.location.coordinate];

[array addObject:point];
pin.animatesDrop = YES;
point.title = address;

[map addAnnotations:array];
}
}];
}

因此,当我运行应用程序时,我可以看到在每个位置设置了引脚并移动到下一个位置,直到它在列表中的最后一个位置结束。如何为每一项加分?我确信这是一个简单的解决方案,但现在我却无法实现。

最佳答案

必须有一个循环来遍历所有联系人。 location 是 CLGeocoder 吗?您不应该在同一个地理编码器上设置两个 geocodeAddressString 函数,您需要为您所做的每个地理编码初始化一个新函数(除非您确定之前的地理编码(异步)已完成)。

其他四个问题:

  • point 变量每次都是相同的。当您更改坐标时,该点会出现在 map 上的不同位置,但它是同一个点,因此您在任何时候都不会看到比 map 上更多的内容。
  • 因为它是异步运行的,所以您应该在 block 之外写入和读取变量。现在,两个地理编码可以同时获得响应,一个地理编码设置 self.placeMarkData,另一个地理编码从中读取 location.coordinate。
  • pin 有何用途?
  • 在完成填充之前,不必费心将 array 添加到 map 中。如果您希望尽快将这些点显示在屏幕上,请将它们单独添加到 map 中。添加整个数组,然后向数组添加另一个东西,然后再次添加整个数组是一种浪费。

关于iphone - 向 MKMapView 添加未知数量的注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12878652/

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