Цитата |
---|
Александр Волков написал: Открытие пользовательской карты на запись стирает данные в паспорте! Т.е. вот этот код стирает данные о центральном меридиане, смещении на север и т.п. HSITE hsite_dst = st::panorama::mapOpenSiteForMapEx(hmap_src, dst_map_path, GENERIC_WRITE, 1); st::panorama::mapCloseSiteForMap(hmap_src, hsite_dst); |
Параметр transform, который Вы установили в единицу, указывает на необходимость физического трансформирования Вашей карты к проекции основной карты, к которой она добавляется, с пересохранением карты в новой проекции.
После такой операции стереться что-то в паспорте не должно, параметры проекции после такой операции должны соответствовать параметрам основной карты (hmap_src).
Цитата |
---|
// Открыть пользовательскую карту в заданном районе работ // (добавить в цепочку пользовательских карт (в обстановку)) // Возвращает идентификатор открытой пользовательской карты // hMap - идентификатор открытой карты // sitename - имя открываемого файла пользовательской карты // mode - режим чтения/записи (GENERIC_READ, GENERIC_WRITE // или 0) GENERIC_READ - все данные только на чтение // transform - признак трансформирования пользовательской карты // к ранее открытым данным (если проекции разные): // 0 - не трансформировать данные (преобразовывать "на лету"), // 1 - трансформировать данные при открытии и сохранить карту // в новой проекции, // -1 - задать вопрос пользователю. // В серверной версии (-1) обрабатывается, как 0. // password - пароль доступа к данным из которого формируется 256-битный код // для шифрования данных (при утрате данные не восстанавливаются) // size - длина пароля в байтах !!! // Передача пароля необходима, если при создании карты он был указан. // Если пароль не передан, а он был указан при создании, // то автоматически вызывается диалог scnGetMapPassword из mapscena.dll (gisu64dlgs.dll) // Если выдача сообщений запрещена (mapIsMessageEnable()), то диалог // не вызывается, а при отсутствии пароля происходит отказ открытия данных // При ошибке возвращает ноль _MAPIMP HSITE _MAPAPI mapOpenSiteForMapPro(HMAP hMap, const WCHAR *sitename, long int mode, long int transform, const WCHAR *password, long int size); _MAPIMP HSITE _MAPAPI mapOpenSiteForMapExUn(HMAP hMap, const WCHAR *sitename, long int mode, long int transform); _MAPIMP HSITE _MAPAPI mapOpenSiteForMapUn(HMAP hMap, const WCHAR *sitename, long int mode); _MAPIMP HSITE _MAPAPI mapOpenSiteForMap(HMAP hMap, const char *sitename, long int mode); _MAPIMP HSITE _MAPAPI mapOpenSiteForMapEx(HMAP hMap, const char *sitename, long int mode, long int transform); |