我想你可以使用標準的MapKit功能:MKCoordinateRegionMakeWithDistance,這將返回一個MKCoordinateRegion,這僅僅是一箇中心點(緯度,經度),並在度latitudal和longitudal方向的跨度。分別從經度和緯度增加/減去跨度的一半,你有你正在尋找的值。
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;
順便說一下:這只是代表小跨度的經度,大約爲幾公里。到quote Apple:
latitudeDelta
北到南距離的量(以度爲單位),以使用的跨度。與縱向距離不同,緯度因緯度而異,一度緯度約爲111公里(69英里)。
longitudeDelta
東到西距離的量(以度爲單位),以使用的跨度。經度範圍跨越的公里數根據當前的緯度而變化。例如,一度的經度橫跨赤道約111公里(69英里)的距離,但在兩極縮小到0公里。
這是有點問題,當你視重疊0經度標記 –
上述計算中startRegion的值是多少 –
@JamesBillingham或±180經度±90緯度標記 – wyu