Разработка iPhone - это Pin-аннотация в видимой области карты - PullRequest
0 голосов
/ 07 апреля 2010

Как я могу проверить, находится ли булавка в видимой области карты (MKMapView)?

1 Ответ

3 голосов
/ 07 апреля 2010

Пин это MKPinAnnotationView, он простирается от MKAnnotationView и имеет свойство annotation (соответствует протоколу MKAnnotation). Такая аннотация имеет еще одно свойство coordinate.

Просто сравните широту / долготу такой координаты с областью вашей карты.

что-то вроде этого должно сделать это: double minLong = myMap.region.center.longitude - myMap.region.span.longitudeDelta/2.0; double maxLong = myMap.region.center.longitude + myMap.region.span.longitudeDelta/2.0; double minLat = myMap.region.center.latitude - myMap.region.span.latitudeDelta/2.0; double maxLat = myMap.region.center.latitude + myMap.region.span.latitudeDelta/2.0;

BOOL isPinInRegion = myPinCoordinates.longitude>=minLong && myPinCoordinates.longitude<=maxLong && myPinCoordinates.latitude>=minLat && myPinCoordinates.latitude

...