Разработка для iPhone - аннотация булавки в видимой области карты

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


person Mustafa    schedule 07.04.2010    source источник


Ответы (1)


Контакт - это 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<=maxLat;

person yonel    schedule 07.04.2010