我认为您可以使用标准的 MapKit 函数:MKCoordinateRegionMakeWithDistance,这将返回一个MKCoordinateRegion,它实际上只是一个中心点(纬度,经度)和纬度和经度方向的跨度(以度为单位)。分别从纬度和经度添加/减去跨度的一半,您就有了您正在寻找的值。
CLLocationCoordinate2D centerCoord = CLLocationCoordinate2DMake(41.145495, −73.994901);
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance(centerCoord, 2000, 2000);
double latMin = region.center.latitude - .5 * startRegion.span.latitudeDelta;
double latMax = region.center.latitude + .5 * startRegion.span.latitudeDelta;
double lonMin = region.center.longitude - .5 * startRegion.span.longitudeDelta;
double lonMax = region.center.longitude + .5 * startRegion.span.longitudeDelta;
顺便说一句:这仅代表小跨度的经度,大约为几公里。引用苹果的话:
latitudeDelta
用于跨度的南北距离量(以度为单位)。与因纬度而异的纵向距离不同,一个纬度始终约为 111 公里(69 英里)。
longitudeDelta
用于跨度的东西距离量(以度为单位)。经度范围跨越的公里数根据当前纬度而变化。例如,1 度经度在赤道处跨越大约 111 公里(69 英里)的距离,但在两极缩小到 0 公里。