最近在解项目bug,更新地位城市的时候有个错误,后来想在位置改变多少距离之后,再取更新位置,这个功能去年做过。但是又忘记了!
所以还是记录一下吧。
百度地图提供了一个方法:
BMKMapPointForCoordinate(CLLocationCoordinate2D coordinate);
这个方法可以将经纬度转换为 直角地理坐标
然后再通过另一个方法来计算距离:
CLLocationDistance BMKMetersBetweenMapPoints(BMKMapPoint a,BMKMapPoint b);
返回的距离单位是米。
CLLocationDistance dis;
dis = BMKMetersBetweenMapPoints(BMKMapPointForCoordinate(userLocation.location.coordinate),BMKMapPointForCoordinate(originCoordinate)) ;
这是我计算的当前位置点和之前位置的距离。