У меня есть список из нескольких сот мест и только хочу, чтобы отобразить MKPinAnnotation для тех мест, в настоящее время на экране. Экран начинается с текущим местоположением пользователя с радиусом 2 мили. Конечно, пользователь может прокручивать, и масштаб изображения на экране. Прямо сейчас, я жду случая обновления карты, а затем петлю через мой список местоположения и проверить координаты, как это:
-(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 */
}
Поэтому я прошу convertCoordinate, где точка будет находиться на экране (если я не неправильно понимаю этот метод, который очень возможно). Если координата не на экране, то я никогда не добавить его в MAPview.
Так что мой вопрос, это правильный путь, чтобы определить, есть ли место-х Шир / появится в текущем виде и должны быть добавлены к в MAPview? Или я должен делать это по-другому?













