Добрый день Александр!
Вот граф
https://cloud.mail.ru/public/6vCr/g4ukyTJeL Пример:
QString map_path = "/home/user/maps/graph/ru/ru-osm_graph.sit";
QPointF start_point_deg = QPointF(59.965001685955386,
30.393356395664608);
QPointF finish_point_deg = QPointF(59.965047974976386,
30.39340916495224);
OPENNETPARM open_net_parm;
memset(&open_net_parm, 0, sizeof(open_net_parm));
HNET hNet = onOpenNet((WCHAR*)map_path.utf16(),
&open_net_parm);
PATHPARM path_parm;
memset(&path_parm, 0, sizeof(path_parm));
path_parm.IsWgs = 1;
path_parm.Type = SP_TIME;
path_parm.IsUturn = 1;
path_parm.Point1.x = start_point_deg.x()/180*M_PI;
path_parm.Point1.y = start_point_deg.y()/180*M_PI;
path_parm.Point2.x = finish_point_deg.x()/180*M_PI;
path_parm.Point2.y = finish_point_deg.y()/180*M_PI;
HPATH hPath = onCreatePath(hNet, &path_parm);
if (!hPath)
{
onCloseNet(hNet);
return;
}
int edge_count = onGetPathEdgeCount(hPath); // в примере edge_count=2
for (int i=0; i<edge_count; i++)
{
DOUBLEPOINT p;
onGetPathEdgeLastPoint(hPath, i, &p); // ВЫЛЕТАЕТ!!!
double angle;
onGetPathEdgeLastPointAngle(hPath, i, &angle);
}
onFreePath(hPath);
onCloseNet(hNet);