之前在項(xiàng)目中一直使用高德進(jìn)行地圖的功能實(shí)現(xiàn)。所以在項(xiàng)目中會(huì)遇到一些小的計(jì)算。為了方便以后查閱以及方便小伙伴們的使用,所以就將方法整理下來。那我們開始吧。
- 計(jì)算距離
//1.將兩個(gè)經(jīng)緯度點(diǎn)轉(zhuǎn)成投影點(diǎn)
MAMapPoint point1 = MAMapPointForCoordinate(CLLocationCoordinate2DMake(39.989612,116.480972));
MAMapPoint point2 = MAMapPointForCoordinate(CLLocationCoordinate2DMake(39.990347,116.480441));
//2.計(jì)算距離
CLLocationDistance distance = MAMetersBetweenMapPoints(point1,point2);```
* 判斷點(diǎn)是否在圓內(nèi)
CLLocationCoordinate2D location = CLLocationCoordinate2DMake(39.989612,116.480972);
CLLocationCoordinate2D center = CLLocationCoordinate2DMake(39.990347,116.480441);
BOOL isContains = MACircleContainsCoordinate(location, center, 200);```
- 判斷點(diǎn)是否在可視范圍
//1.將annotation的經(jīng)緯度點(diǎn)轉(zhuǎn)成投影點(diǎn)
MAMapPoint point = MAMapPointForCoordinate(annotation.coordinate);
//2.判斷該點(diǎn)是否在地圖可視范圍
BOOL isContains = MAMapRectContainsPoint(mapview.visibleMapRect, point);```
今天稍微整理三條,有時(shí)間繼續(xù)整理。期待接下來的高德路線規(guī)劃、導(dǎo)航的demo學(xué)習(xí)吧。