如何计算iOS中的地理边界框?
我想在iOS中进行地理边界框计算。 它可以是aprox。
input参数:
当前位置(例如:41.145495,-73.994901)
半径(以米为单位):(例如:2000)
所需输出:
民隆:(例如:41.9995495)
MinLat:(例如:-74.004901)
MaxLong:(例如:41.0005495)
MaxLat:(例如:-73.004901)
要求:没有networking电话
有任何想法吗? Mapkit / CoreLocation似乎没有提供这种types的东西?
我可以使用任何其他地理SDK?
谢谢
我认为你可以使用标准的MapKit函数: MKCoordinateRegionMakeWithDistance ,这将返回一个MKCoordinateRegion ,它实际上只是一个中心点(lat,lon),以及纬度和纵向方向的跨度(度)。 分别从纬度和经度加/减一半的跨度,你有你正在寻找的值。
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
用于跨度的东西距离(以度为单位)。 经度范围跨越的公里数根据当前的纬度而变化。 例如,一度的经度跨越赤道约111公里(69英里)的距离,但在两极缩小到0公里。
我知道我晚了一点,但我刚刚build立了一个类GTBoundingBox
,可能(或不可能)帮助: