Экспериментировал с добавлением на дефолтную карту в проекции Меркатора карт с СК-42(Подольск), если делать это функцией mapAppendDataEx с параметром transform = 0, то выглядит намного лучше, чем функцией добавления sxf UpdateFromAnySxf, точечные объекты искажаются намного меньше. Но, к сожалению, с таким значением параметра transform все пересчеты идут на лету и очень тормозят, а с transform = 1 функция возвращает 0 и ничего не делает, почему нельзя добавить и сохранить объекты другой карты?
Карту в проекции Мерктора я загружаю с помощью ImportFromAnySxf(), потом для компонента QDMapView вызываю метод SetMapFilePath(Путь к .sit) и SetMapFileActive(TRUE). Карту подольска до этого так же распаковываю с ImportFromAnySxf() и указываю путь к его .sit в методе mapAppendDataEx(HANDLE, pathToPodolskSit, GENERIC_READ | GENERIC_WRITE, 1). Что именно неправильно делаю, чтобы добавление и сохранение данных в карте сработало?
1. Нужно убедиться, что карта, которую будем трансформировать, после импорта из SXF закрыта (если она открывалась). 2. Если она закрыта, а проблема остается, то можно ее открыть отдельно (mapOpenData) и сразу закрыть (mapCloseData), а после этого уже добавлять через mapAppendDataEx() с параметром 1.
Для трансформирования карта должна быть доступна в монопольном доступе, поскольку она полностью заменяется.