Я рассчитал маршрут на картах и запустил пошаговую навигацию, используя этот маршрут. Все работает нормально в автономном режиме, и когда я попытался рассчитать расстояние до пункта назначения, используя
double distance = [NMANavigationManager sharedNavigationManager].distanceToDestination;
Вышеупомянутый метод вернул очень высокое значение, например 184467440737095520000. Возвращаемое значение всегда 184467440737095520000 даже для разных маршрутов. когда я обратился к делегату диспетчера навигации, я обнаружил, что этот метод возвращает значения в метрах. Но даже это возвращаемое значение слишком велико для расстояния до пункта назначения .. Пожалуйста, расскажите мне, как правильно рассчитать расстояние до пункта назначения .. Заранее спасибо
-(void)CalculateRoute:(NMARoutingMode *)routingMode
{
routeManager = [NMARouteManager sharedRouteManager];
routeManager.delegate = self;
NSMutableArray* stopList = [NSMutableArray array];
[stopList addObject:_StartCoordinate];
[stopList addObject:_DestinationCoordinate];
NSLog(@"routing from [%.5f,%.5f] to [%.5f,%.5f]", ((NMAGeoCoordinates*)stopList[0]).latitude, ((NMAGeoCoordinates*)stopList[0]).longitude,
((NMAGeoCoordinates*)stopList[1]).latitude, ((NMAGeoCoordinates*)stopList[1]).longitude);
NSLog(@"routingMode===>%@",routingMode.description);
[routeManager calculateRouteWithStops:stopList routingMode:routingMode];
}
-(IBAction)StartNav:(UIButton*)sender
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(positionDidUpdate)
name:NMAPositioningManagerDidUpdatePositionNotification
object:[NMAPositioningManager sharedPositioningManager]];
[NMANavigationManager sharedNavigationManager].map = self.mapView;
[NMANavigationManager sharedNavigationManager].delegate = self;
[NMANavigationManager sharedNavigationManager].mapTrackingAutoZoomEnabled = YES;
[NMANavigationManager sharedNavigationManager].mapTrackingEnabled = YES;
[NMANavigationManager sharedNavigationManager].mapTrackingOrientation = NMAMapTrackingOrientationDynamic;
[NMANavigationManager sharedNavigationManager].speedWarningEnabled = YES;
[NMANavigationManager sharedNavigationManager].mapTrackingTilt = NMAMapTrackingTilt2D;
[[NMANavigationManager sharedNavigationManager]startTurnByTurnNavigationWithRoute:_route];
}