iPhone开发 - 可视地图区域中的引脚注释

时间:2010-04-07 10:08:34

标签: iphone annotations mapkit mkmapview region

如何检查图钉是否在地图的可视区域(MKMapView)?

1 个答案:

答案 0 :(得分:3)

图钉是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;