iOS高德地图SDK(3D) V10.0.600
Loading...
Searching...
No Matches
MAGeometry.h File Reference
#import "MAConfig.h"
#import <CoreGraphics/CoreGraphics.h>
#import <CoreLocation/CoreLocation.h>
#import <UIKit/UIKit.h>

Go to the source code of this file.

Classes

struct  MACoordinateBounds
 东北、西南两个点定义的四边形经纬度范围 More...
 
struct  MACoordinateSpan
 经度、纬度定义的经纬度跨度范围 More...
 
struct  MACoordinateRegion
 中心点、跨度范围定义的四边形经纬度范围 More...
 
struct  MAMapPoint
 平面投影坐标结构定义 More...
 
struct  MAMapSize
 平面投影大小结构定义 More...
 
struct  MAMapRect
 平面投影矩形结构定义 More...
 
category  NSValue(NSValueMAGeometryExtensions)
 utils方法,方便c结构体对象和NSValue对象间相互转化 More...
 

Typedefs

typedef struct MACoordinateBounds MACoordinateBounds
 东北、西南两个点定义的四边形经纬度范围
 
typedef struct MACoordinateSpan MACoordinateSpan
 经度、纬度定义的经纬度跨度范围
 
typedef struct MACoordinateRegion MACoordinateRegion
 中心点、跨度范围定义的四边形经纬度范围
 
typedef struct MAMapPoint MAMapPoint
 平面投影坐标结构定义
 
typedef struct MAMapSize MAMapSize
 平面投影大小结构定义
 
typedef struct MAMapRect MAMapRect
 平面投影矩形结构定义
 
typedef double MAZoomScale
 比例关系:MAZoomScale = Screen Point / MAMapPoint, 当MAZoomScale = 1时, 1 screen point = 1 MAMapPoint, 当MAZoomScale = 0.5时, 1 screen point = 2 MAMapPoints
 
typedef void(^ AMapTileProjectionBlock) (int offsetX, int offsetY, int minX, int maxX, int minY, int maxY)
 获取墨卡托投影切块回调block,如果是无效的映射,则返回(-1, -1, 0, 0, 0, 0)
 

Enumerations

enum  MAMapRectCorner : NSUInteger {
  MAMapRectCornerTopLeft = 1 << 0 , MAMapRectCornerTopRight = 1 << 1 , MAMapRectCornerBottomLeft = 1 << 2 , MAMapRectCornerBottomRight = 1 << 3 ,
  MAMapRectCornerAllCorners = ~0UL
}
 
enum  MACoordinateType : NSUInteger {
  MACoordinateTypeBaidu = 0 , MACoordinateTypeMapBar , MACoordinateTypeMapABC , MACoordinateTypeSoSoMap ,
  MACoordinateTypeAliYun , MACoordinateTypeGoogle , MACoordinateTypeGPS
}
 

Functions

MACoordinateRegion MACoordinateRegionMakeWithDistance (CLLocationCoordinate2D centerCoordinate, CLLocationDistance latitudinalMeters, CLLocationDistance longitudinalMeters)
 生成一个新的MACoordinateRegion
 
MAMapPoint MAMapPointForCoordinate (CLLocationCoordinate2D coordinate)
 经纬度坐标转平面投影坐标
 
CLLocationCoordinate2D MACoordinateForMapPoint (MAMapPoint mapPoint)
 平面投影坐标转经纬度坐标
 
MACoordinateRegion MACoordinateRegionForMapRect (MAMapRect rect)
 平面投影矩形转region
 
MAMapRect MAMapRectForCoordinateRegion (MACoordinateRegion region)
 region转平面投影矩形
 
CLLocationDistance MAMetersPerMapPointAtLatitude (CLLocationDegrees latitude)
 单位投影的距离
 
double MAMapPointsPerMeterAtLatitude (CLLocationDegrees latitude)
 1米对应的投影
 
CLLocationDistance MAMetersBetweenMapPoints (MAMapPoint a, MAMapPoint b)
 投影两点之间的距离
 
double MAAreaBetweenCoordinates (CLLocationCoordinate2D northEast, CLLocationCoordinate2D southWest)
 经纬度间的面积(单位 平方米)
 
MAMapRect MAMapRectInset (MAMapRect rect, double dx, double dy)
 获取Inset后的MAMapRect
 
MAMapRect MAMapRectUnion (MAMapRect rect1, MAMapRect rect2)
 合并两个MAMapRect
 
BOOL MAMapSizeContainsSize (MAMapSize size1, MAMapSize size2)
 判断size1是否包含size2
 
BOOL MAMapRectContainsPoint (MAMapRect rect, MAMapPoint point)
 判断点是否在矩形内
 
BOOL MAMapRectIntersectsRect (MAMapRect rect1, MAMapRect rect2)
 判断两矩形是否相交
 
BOOL MAMapRectContainsRect (MAMapRect rect1, MAMapRect rect2)
 判断矩形rect1是否包含矩形rect2
 
BOOL MACircleContainsPoint (MAMapPoint point, MAMapPoint center, double radius)
 判断点是否在圆内
 
BOOL MACircleContainsCoordinate (CLLocationCoordinate2D point, CLLocationCoordinate2D center, double radius)
 判断经纬度点是否在圆内
 
MAMapPoint MAGetNearestMapPointFromPolyline (MAMapPoint point, MAMapPoint *polyline, NSUInteger count)
 获取某坐标点距线上最近的坐标点
 
BOOL MAPolygonContainsPoint (MAMapPoint point, MAMapPoint *polygon, NSUInteger count)
 判断点是否在多边形内
 
BOOL MAPolygonContainsCoordinate (CLLocationCoordinate2D point, CLLocationCoordinate2D *polygon, NSUInteger count)
 判断经纬度点是否在多边形内
 
MAMapPoint MAGetNearestMapPointFromLine (MAMapPoint lineStart, MAMapPoint lineEnd, MAMapPoint point)
 取在lineStart和lineEnd组成的线段上距离point距离最近的点
 
void MAGetTileProjectionFromBounds (MACoordinateBounds bounds, int levelOfDetails, AMapTileProjectionBlock tileProjection)
 根据所给经纬度区域获取墨卡托投影切块信息
 
double MAAreaForPolygon (CLLocationCoordinate2D *coordinates, int count)
 计算多边形面积,点与点之间按顺序尾部相连, 第一个点与最后一个点相连
 
CLLocationCoordinate2D MACoordinateConvert (CLLocationCoordinate2D coordinate, MACoordinateType type) __attribute((deprecated("已废弃,使用AMapFoundation中关于坐标转换的接口")))
 转换目标经纬度为高德坐标系
 
CLLocationDirection MAGetDirectionFromCoords (CLLocationCoordinate2D fromCoord, CLLocationCoordinate2D toCoord)
 获取矢量坐标方向
 
CLLocationDirection MAGetDirectionFromPoints (MAMapPoint fromPoint, MAMapPoint toPoint)
 获取矢量坐标方向
 
double MAGetDistanceFromPointToLine (MAMapPoint point, MAMapPoint lineBegin, MAMapPoint lineEnd)
 获取点到线的垂直距离
 
BOOL MAPolylineHitTest (MAMapPoint *linePoints, NSUInteger count, MAMapPoint tappedPoint, CGFloat lineWidth)
 判断线是否被点击选中
 

Variables

const MAMapSize MAMapSizeWorld
 世界范围大小
 
const MAMapRect MAMapRectWorld
 世界范围四边形
 
const MAMapRect MAMapRectNull
 (MAMapRect){{INFINITY, INFINITY}, {0, 0}};
 
const MAMapRect MAMapRectZero
 (MAMapRect){{0, 0}, {0, 0}}
 

Typedef Documentation

◆ AMapTileProjectionBlock

typedef void(^ AMapTileProjectionBlock) (int offsetX, int offsetY, int minX, int maxX, int minY, int maxY)

获取墨卡托投影切块回调block,如果是无效的映射,则返回(-1, -1, 0, 0, 0, 0)

Parameters
offsetX左上点距离所属tile的位移X, 单位像素
offsetY左上点距离所属tile的位移Y, 单位像素
minX覆盖tile的最小x
maxX覆盖tile的最大x
minY覆盖tile的最小y
maxY覆盖tile的最大y

◆ MACoordinateBounds

东北、西南两个点定义的四边形经纬度范围

◆ MACoordinateRegion

中心点、跨度范围定义的四边形经纬度范围

◆ MACoordinateSpan

经度、纬度定义的经纬度跨度范围

◆ MAMapPoint

typedef struct MAMapPoint MAMapPoint

平面投影坐标结构定义

◆ MAMapRect

typedef struct MAMapRect MAMapRect

平面投影矩形结构定义

◆ MAMapSize

typedef struct MAMapSize MAMapSize

平面投影大小结构定义

◆ MAZoomScale

typedef double MAZoomScale

比例关系:MAZoomScale = Screen Point / MAMapPoint, 当MAZoomScale = 1时, 1 screen point = 1 MAMapPoint, 当MAZoomScale = 0.5时, 1 screen point = 2 MAMapPoints

Enumeration Type Documentation

◆ MACoordinateType

enum MACoordinateType : NSUInteger
Enumerator
MACoordinateTypeBaidu 

Baidu.

MACoordinateTypeMapBar 

MapBar.

MACoordinateTypeMapABC 

MapABC.

MACoordinateTypeSoSoMap 

SoSoMap.

MACoordinateTypeAliYun 

AliYun.

MACoordinateTypeGoogle 

Google.

MACoordinateTypeGPS 

GPS.

◆ MAMapRectCorner

enum MAMapRectCorner : NSUInteger
Enumerator
MAMapRectCornerTopLeft 
MAMapRectCornerTopRight 
MAMapRectCornerBottomLeft 
MAMapRectCornerBottomRight 
MAMapRectCornerAllCorners 

Function Documentation

◆ MAAreaBetweenCoordinates()

double MAAreaBetweenCoordinates ( CLLocationCoordinate2D  northEast,
CLLocationCoordinate2D  southWest 
)

经纬度间的面积(单位 平方米)

Parameters
northEast东北经纬度
southWest西南经纬度
Returns
面积

◆ MAAreaForPolygon()

double MAAreaForPolygon ( CLLocationCoordinate2D *  coordinates,
int  count 
)

计算多边形面积,点与点之间按顺序尾部相连, 第一个点与最后一个点相连

Parameters
coordinates指定的经纬度坐标点数组,C数组,调用者负责内存管理
count坐标点的个数
Returns
多边形的面积

◆ MACircleContainsCoordinate()

BOOL MACircleContainsCoordinate ( CLLocationCoordinate2D  point,
CLLocationCoordinate2D  center,
double  radius 
)

判断经纬度点是否在圆内

Parameters
point经纬度
center圆的中心经纬度
radius圆的半径,单位米
Returns
判断结果

◆ MACircleContainsPoint()

BOOL MACircleContainsPoint ( MAMapPoint  point,
MAMapPoint  center,
double  radius 
)

判断点是否在圆内

Parameters
point
center圆的中心点
radius圆的半径,单位米
Returns
判断结果

◆ MACoordinateConvert()

CLLocationCoordinate2D MACoordinateConvert ( CLLocationCoordinate2D  coordinate,
MACoordinateType  type 
)

转换目标经纬度为高德坐标系

Parameters
coordinate待转换的经纬度
type坐标系类型
Returns
高德坐标系经纬度

◆ MACoordinateForMapPoint()

CLLocationCoordinate2D MACoordinateForMapPoint ( MAMapPoint  mapPoint)

平面投影坐标转经纬度坐标

Parameters
mapPoint要转化的平面投影坐标
Returns
经纬度坐标

◆ MACoordinateRegionForMapRect()

MACoordinateRegion MACoordinateRegionForMapRect ( MAMapRect  rect)

平面投影矩形转region

Parameters
rect要转化的平面投影矩形
Returns
region

◆ MACoordinateRegionMakeWithDistance()

MACoordinateRegion MACoordinateRegionMakeWithDistance ( CLLocationCoordinate2D  centerCoordinate,
CLLocationDistance  latitudinalMeters,
CLLocationDistance  longitudinalMeters 
)

生成一个新的MACoordinateRegion

Parameters
centerCoordinate中心点坐标
latitudinalMeters垂直跨度(单位 米)
longitudinalMeters水平跨度(单位 米)
Returns
新的MACoordinateRegion

◆ MAGetDirectionFromCoords()

CLLocationDirection MAGetDirectionFromCoords ( CLLocationCoordinate2D  fromCoord,
CLLocationCoordinate2D  toCoord 
)

获取矢量坐标方向

Parameters
fromCoord矢量坐标起点
toCoord矢量坐标终点
Returns
方向,详情参考系统 CLLocationDirection

◆ MAGetDirectionFromPoints()

CLLocationDirection MAGetDirectionFromPoints ( MAMapPoint  fromPoint,
MAMapPoint  toPoint 
)

获取矢量坐标方向

Parameters
fromPoint矢量坐标起点
toPoint矢量坐标终点
Returns
方向,详情参考系统 CLLocationDirection

◆ MAGetDistanceFromPointToLine()

double MAGetDistanceFromPointToLine ( MAMapPoint  point,
MAMapPoint  lineBegin,
MAMapPoint  lineEnd 
)

获取点到线的垂直距离

Parameters
point起点
lineBegin线的起点
lineEnd线的终点
Returns
距离,单位米

◆ MAGetNearestMapPointFromLine()

MAMapPoint MAGetNearestMapPointFromLine ( MAMapPoint  lineStart,
MAMapPoint  lineEnd,
MAMapPoint  point 
)

取在lineStart和lineEnd组成的线段上距离point距离最近的点

Parameters
lineStart线段起点
lineEnd线段终点
point测试点
Returns
距离point最近的点坐标

◆ MAGetNearestMapPointFromPolyline()

MAMapPoint MAGetNearestMapPointFromPolyline ( MAMapPoint  point,
MAMapPoint polyline,
NSUInteger  count 
)

获取某坐标点距线上最近的坐标点

Parameters
point
polyline线
count线里点的数量
Returns
某点到线上最近的点

◆ MAGetTileProjectionFromBounds()

void MAGetTileProjectionFromBounds ( MACoordinateBounds  bounds,
int  levelOfDetails,
AMapTileProjectionBlock  tileProjection 
)

根据所给经纬度区域获取墨卡托投影切块信息

Parameters
bounds经纬度区域
levelOfDetails对应缩放级别, 取值0-20
tileProjection返回的切块信息block

◆ MAMapPointForCoordinate()

MAMapPoint MAMapPointForCoordinate ( CLLocationCoordinate2D  coordinate)

经纬度坐标转平面投影坐标

Parameters
coordinate要转化的经纬度坐标
Returns
平面投影坐标

◆ MAMapPointsPerMeterAtLatitude()

double MAMapPointsPerMeterAtLatitude ( CLLocationDegrees  latitude)

1米对应的投影

Parameters
latitude经纬度
Returns
1米对应的投影

◆ MAMapRectContainsPoint()

BOOL MAMapRectContainsPoint ( MAMapRect  rect,
MAMapPoint  point 
)

判断点是否在矩形内

Parameters
rect矩形rect
point
Returns
判断结果

◆ MAMapRectContainsRect()

BOOL MAMapRectContainsRect ( MAMapRect  rect1,
MAMapRect  rect2 
)

判断矩形rect1是否包含矩形rect2

Parameters
rect1rect1
rect2rect2
Returns
判断结果

◆ MAMapRectForCoordinateRegion()

MAMapRect MAMapRectForCoordinateRegion ( MACoordinateRegion  region)

region转平面投影矩形

Parameters
regionregion 要转化的region
Returns
平面投影矩形

◆ MAMapRectInset()

MAMapRect MAMapRectInset ( MAMapRect  rect,
double  dx,
double  dy 
)

获取Inset后的MAMapRect

Parameters
rectrect
dxx点
dyy点
Returns
MAMapRect

◆ MAMapRectIntersectsRect()

BOOL MAMapRectIntersectsRect ( MAMapRect  rect1,
MAMapRect  rect2 
)

判断两矩形是否相交

Parameters
rect1rect1
rect2rect2
Returns
判断结果

◆ MAMapRectUnion()

MAMapRect MAMapRectUnion ( MAMapRect  rect1,
MAMapRect  rect2 
)

合并两个MAMapRect

Parameters
rect1rect1
rect2rect2
Returns
合并后的rect

◆ MAMapSizeContainsSize()

BOOL MAMapSizeContainsSize ( MAMapSize  size1,
MAMapSize  size2 
)

判断size1是否包含size2

Parameters
size1size1
size2size2
Returns
判断结果

◆ MAMetersBetweenMapPoints()

CLLocationDistance MAMetersBetweenMapPoints ( MAMapPoint  a,
MAMapPoint  b 
)

投影两点之间的距离

Parameters
aa点
bb点
Returns
距离

◆ MAMetersPerMapPointAtLatitude()

CLLocationDistance MAMetersPerMapPointAtLatitude ( CLLocationDegrees  latitude)

单位投影的距离

Parameters
latitude经纬度
Returns
距离

◆ MAPolygonContainsCoordinate()

BOOL MAPolygonContainsCoordinate ( CLLocationCoordinate2D  point,
CLLocationCoordinate2D *  polygon,
NSUInteger  count 
)

判断经纬度点是否在多边形内

Parameters
point经纬度点
polygon多边形
count多边形点的数量
Returns
判断结果

◆ MAPolygonContainsPoint()

BOOL MAPolygonContainsPoint ( MAMapPoint  point,
MAMapPoint polygon,
NSUInteger  count 
)

判断点是否在多边形内

Parameters
point
polygon多边形
count多边形点的数量
Returns
判断结果

◆ MAPolylineHitTest()

BOOL MAPolylineHitTest ( MAMapPoint linePoints,
NSUInteger  count,
MAMapPoint  tappedPoint,
CGFloat  lineWidth 
)

判断线是否被点击选中

Parameters
linePoints构成线的点
count点的个数
tappedPoint点击点
lineWidth线宽,单位:MAMapPoint点
Returns
是否选中

Variable Documentation

◆ MAMapRectNull

const MAMapRect MAMapRectNull
extern

(MAMapRect){{INFINITY, INFINITY}, {0, 0}};

◆ MAMapRectWorld

const MAMapRect MAMapRectWorld
extern

世界范围四边形

◆ MAMapRectZero

const MAMapRect MAMapRectZero
extern

(MAMapRect){{0, 0}, {0, 0}}

◆ MAMapSizeWorld

const MAMapSize MAMapSizeWorld
extern

世界范围大小

© 2017 高德信息技术有限公司 版权所有,保留所有权利。