高德地圖的一些計(jì)算方法

之前在項(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í)吧。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容