話不多說,先上代碼
CLLocationCoordinate2D centerCoord;
CLLocationCoordinate2D arcCoord;
//轉為Map平面坐標
MKMapPoint centerPoint = MKMapPointForCoordinate(centerCoord);
MKMapPoint currentPoint = MKMapPointForCoordinate(arcCoord);
//計算平面距離
double pointDistance = sqrt(pow(currentPoint.x-centerPoint.x, 2)+pow(currentPoint.y-centerPoint.y, 2));
for (int I = 1 ; i <= 360; I++){
double x = pointDistance*cos(i*M_PI/180);
double y = pointDistance*sin(i*M_PI/180);
//轉為經(jīng)緯度
CLLocationCoordinate2D coord = MKCoordinateForMapPoint(MKMapPointMake(centerPoint.x+x, centerPoint.y+y));
}
思路:簡單的說,利用mapkit里的mkmappoint巧妙的避免了經(jīng)緯度的GIS計算,使用平面坐標計算得到mkmappoint類型的結果,再利用API轉為經(jīng)緯度結構體。