AnMKMapRect
使用与不同的MKMapPoint
单位。CLLocationDegrees
该MKMapRectMake
函数需要左上角MKMapPoint
,然后是宽度和高度(再次以单位为MKMapPoint
单位)。
基本上,您需要使用该MKMapPointForCoordinate
函数来帮助您完成从度到MKMapPoint
单位的转换。
首先,您可以构造 anMKCoordinateRegion
然后将其转换为MKMapRect
.
例如:
//create a region 10km around the annotation...
MKCoordinateRegion mapRegion = MKCoordinateRegionMakeWithDistance
(annotation.coordinate, 10000, 10000);
//convert the MKCoordinateRegion to an MKMapRect...
MKMapRect mapRect = [self mapRectForCoordinateRegion:mapRegion];
mapRectForCoordinateRegion
方法是你必须写的东西 。
有关一种编写方式的示例,请参阅此答案:
如何在两个 MKCoordinateRegion 之间建立联合
顺便说一句,请注意,在您的情况下,annotationsInMapRect
将包括您正在搜索的注释(因为您使用它作为中心)。