如何为地理定位创建边界框
How to create a bounding box for a geolocation
我想为 Swift 中的地理位置创建一个边界框,对我来说 returns (minY maxY minX maxX) Swift 中是否有执行此操作的函数?
iOS 没有边界框的概念,但它确实有一个名为 MKCoordinateRegion
.
的区域 struct
MKCoordinateRegion
包含两件事:
CLLocationCoordinate2D center;
MKCoordinateSpan span;
两者都是structs
。 span
包含区域的高度和宽度。使用这些你可以制作一个边界框(来自here)
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;
编辑: 我刚刚意识到请求是 Swift。我将把翻译留作加分练习。
我想为 Swift 中的地理位置创建一个边界框,对我来说 returns (minY maxY minX maxX) Swift 中是否有执行此操作的函数?
iOS 没有边界框的概念,但它确实有一个名为 MKCoordinateRegion
.
struct
MKCoordinateRegion
包含两件事:
CLLocationCoordinate2D center;
MKCoordinateSpan span;
两者都是structs
。 span
包含区域的高度和宽度。使用这些你可以制作一个边界框(来自here)
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;
编辑: 我刚刚意识到请求是 Swift。我将把翻译留作加分练习。