Mám seznam několika stovek míst a jen chcete zobrazit MKPinAnnotation na těch místech v současné době na obrazovce. Na obrazovce se začne aktuální polohy uživatele s poloměrem 2 míle. Samozřejmě, že uživatel může procházet a zoom na obrazovce. Právě teď, čekám na akci s aktualizacemi map, a potom smyčku výběru umístění a zkontrolujte souřadnic, jako je tento:
-(void)mapViewDidFinishLoadingMap:(MKMapView *)mapView {
CGPoint point;
CLLocationCoordinate2D coordinate;
. . .
/* in location loop */
coordinate.latitude = [nextLocation getLatitude];
coordinate.longitude = [nextLocation getLongitude];
/* Determine if point is in view. Is there a better way then this? */
point = [mapView convertCoordinate:coordinate toPointToView:nil];
if( (point.x > 0) && (point.y>0) ) {
/* Add coordinate to array that is later added to mapView */
}
Tak se ptám, kde convertCoordinate bod bude na obrazovce (pokud jsem špatně tuto metodu, která je velmi pravděpodobné). V případě, že koordinovat není na obrazovce, pak jsem nikdy přidat do MapView.
Takže moje otázka, je to správný způsob, jak zjistit, zda lat / long by se objevila umístění je v aktuálním pohledu a měly by být přidány do o MapView? Nebo bych to dělat jinak?













