我需要在MKMapView上顯示數千個針腳,並且我需要一個很好的代理方法來添加針腳。 didUserUpdateLocation不好,因爲它被多次觸發。將數千個引腳添加到MKMapView的最佳方式是什麼?MKMapView在地圖上加載數千個針腳
UPDATE:
我只是用一個BOOL檢查只有一次加載引腳和它似乎工作真的很不錯!
-(void) mapView:(MKMapView *) mv didUpdateUserLocation:(MKUserLocation *)userLocation
{
NSLog(@"didUpdateUserLocation");
if(self.isMapped) return;
for(Facility *facility in self.facilities)
{
CLLocationCoordinate2D facilityCoord = { facility.latitude,facility.longitude };
MapPoint *mp = [[MapPoint alloc] initWithCoordinate:facilityCoord title:facility.facilityName];
[mv addAnnotation:mp];
}
self.isMapped = YES;
}
考慮下面的Jano的答案。由於器件的內存限制,您應該按需加載引腳。這是委託方法的原因。看看wwdc 2010視頻。他們在那裏有一些很好的地圖套件優化。 – timthetoolman
@timthetoolman是的好建議! – azamsharp