11 #import <CoreGraphics/CoreGraphics.h> 12 #import <CoreLocation/CoreLocation.h> 13 #import <UIKit/UIKit.h> 14 #import "QFoundation.h" 22 CLLocationDegrees latitudeDelta;
23 CLLocationDegrees longitudeDelta;
30 CLLocationCoordinate2D center;
42 static inline QCoordinateSpan QCoordinateSpanMake(CLLocationDegrees latitudeDelta, CLLocationDegrees longitudeDelta)
69 Q_EXTERN
QCoordinateRegion QCoordinateRegionMakeWithDistance(CLLocationCoordinate2D centerCoordinate, CLLocationDistance latitudinalMeters, CLLocationDistance longitudinalMeters);
95 Q_EXTERN
const QMapRect QMapRectNull;
97 typedef CGFloat QZoomScale;
106 Q_EXTERN
QMapPoint QMapPointForCoordinate(CLLocationCoordinate2D coordinate);
115 Q_EXTERN CLLocationCoordinate2D QCoordinateForMapPoint(
QMapPoint mapPoint);
142 Q_EXTERN CLLocationDistance QMetersPerMapPointAtLatitude(CLLocationDegrees latitude);
151 Q_EXTERN
double QMapPointsPerMeterAtLatitude(CLLocationDegrees latitude);
171 Q_EXTERN
double QAreaBetweenCoordinates(CLLocationCoordinate2D leftTop, CLLocationCoordinate2D rightBottom);
243 Q_EXTERN BOOL QCircleContainsCoordinate(CLLocationCoordinate2D point, CLLocationCoordinate2D center,
double radius);
254 Q_EXTERN BOOL QPolygonContainsPoint(
QMapPoint point,
QMapPoint *polygon, NSUInteger count);
265 Q_EXTERN BOOL QPolygonContainsCoordinate(CLLocationCoordinate2D point, CLLocationCoordinate2D *polygon, NSUInteger count);
275 static inline QMapPoint QMapPointMake(
double x,
double y)
288 static inline QMapSize QMapSizeMake(
double width,
double height)
303 static inline QMapRect QMapRectMake(
double x,
double y,
double width,
double height)
305 return (
QMapRect){QMapPointMake(x, y), QMapSizeMake(width, height)};
315 static inline QMapRect QMapRectMakeFromCGRect(CGRect rect)
317 return QMapRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height);
327 static inline double QMapRectGetMinX(
QMapRect rect)
329 return rect.origin.x;
339 static inline double QMapRectGetMinY(
QMapRect rect)
341 return rect.origin.y;
351 static inline double QMapRectGetMidX(
QMapRect rect)
353 return rect.origin.x + rect.size.width / 2.0;
363 static inline double QMapRectGetMidY(
QMapRect rect)
365 return rect.origin.y + rect.size.height / 2.0;
375 static inline double QMapRectGetMaxX(
QMapRect rect)
377 return rect.origin.x + rect.size.width;
387 static inline double QMapRectGetMaxY(
QMapRect rect)
389 return rect.origin.y + rect.size.height;
399 static inline double QMapRectGetWidth(
QMapRect rect)
401 return rect.size.width;
411 static inline double QMapRectGetHeight(
QMapRect rect)
413 return rect.size.height;
425 return point1.x == point2.x && point1.y == point2.y;
437 return size1.width == size2.width && size1.height == size2.height;
450 QMapPointEqualToPoint(rect1.origin, rect2.origin) &&
451 QMapSizeEqualToSize(rect1.size, rect2.size);
461 static inline BOOL QMapRectIsNull(
QMapRect rect) {
462 return isinf(rect.origin.x) || isinf(rect.origin.y);
472 static inline BOOL QMapRectIsEmpty(
QMapRect rect) {
473 return QMapRectIsNull(rect) || (rect.size.width == 0.0 && rect.size.height == 0.0);
483 static inline NSString *QStringFromMapPoint(
QMapPoint point) {
484 return [NSString stringWithFormat:
@"{%.1f, %.1f}", point.x, point.y];
494 static inline NSString *QStringFromMapSize(
QMapSize size) {
495 return [NSString stringWithFormat:
@"{%.1f, %.1f}", size.width, size.height];
505 static inline NSString *QStringFromMapRect(
QMapRect rect) {
506 return [NSString stringWithFormat:
@"{%@, %@}", QStringFromMapPoint(rect.origin), QStringFromMapSize(rect.size)];
522 + (NSValue *)valueWithQMapPoint:(
QMapPoint)mapPoint;
531 + (NSValue *)valueWithQMapSize:(
QMapSize)mapSize;
540 + (NSValue *)valueWithQMapRect:(
QMapRect)mapRect;
549 + (NSValue *)valueWithCoordinate:(CLLocationCoordinate2D)coordinate;
NSValue对地图相关数据类型的扩展
Definition: QGeometry.h:513
QMapSize QMapSizeValue()
将NSValue对象解析成QMapSize类型的值
平面投影大小结构定义
Definition: QGeometry.h:82
CLLocationCoordinate2D coordinateValue()
将NSValue对象解析成CLLocationCoordinate2D类型的值
平面投影矩形结构定义
Definition: QGeometry.h:90
定义了地图的某一部份的数据结构
Definition: QGeometry.h:29
定义了以CLLocationDegree为单位的矩形
Definition: QGeometry.h:21
QMapRect QMapRectValue()
将NSValue对象解析成QMapRect类型的值
QMapPoint QMapPointValue()
将NSValue对象解析成QMapPoint类型的值
平面投影坐标结构定义
Definition: QGeometry.h:74