Алгоритм может быть такой.
1) Построить ортодромию между двумя заданными точками.
Код |
---|
// Построение ортодромии
// first - координаты первой точки в радианах
// second - координаты второй точки в радианах
// array - адрес массива координат построенной ортодромии,
// размер массива равен count
// count - количество точек для построения ортодромии
// При ошибке возвращает ноль10/03/04
_MAPIMP long int _MAPAPI mapOrthodrome(DOUBLEPOINT * first,DOUBLEPOINT * second,
DOUBLEPOINT * array,long int count);
|
Число точек ортодромии для больших расстояний можно взять исходя из того, что длина отрезков должна быть менее 1 градуса по долготе. Далее можно запросить длины отрезков и сложить или записать все точки в объект и запросить общую длину. При этом автоматически каждый отрезок перепроецируется в Transverse Mercator относительно осевого меридиана, проходящего через центр отрезка и в новой проекции будет определена его длина.