Скрипт вешается на кнопку, которая, имитируя нажатие мыши, открывает окно загрузки трека. К тому же окна ОЗИ имеют обыкновение "проваливаться" под карту - скрипт это исправляет.
Вид для печати
2 Sok-San
Ай, молодчина! Спасибо тебе - бился-бился в свое время с сабжем, да так и не осилил до конца: объездить мне его удалось едва ли наполовину...
Покурю ветку в ближайшие дни - глядишь, и срастется все.
Ну, а кто-нибудь что-нибудь скажет про версию 3.96.4а?
Я пробовал версию 3.96.2, но она чёта не понравилась и я вернулся к 3.95
Да что-то скрипт в упор не хотел закрывать панель [CLASS:TPanel; INSTANCE:2] и я вернулся к старой версии здесь все сразу заработало.
А так тоже каких серьезных изменений не заметил.
Меня вот интересует другое. Можно ли установить два Ози с разными картами. Вот хочу Гугловские снимки из космоса запускать параллельно карте под ОЗИ. Скачивать их с хорошим разрешением и привязывать я научился. Бывает нужно осмотреться на местности. Снимки позволяют увидеть спрятанные в лесу озерца, не отмеченные на карте новые просеки, полевые и лесные дороги. Вот осенью за опятами ездил так вырубки находил спрятанные в лесу, которые с дороги не видать Правда пользоваться бумажным снимком распечатанным на плоттере в А1 - не очень удобно. Вот и думаю как-то снимки на комп загнать, но без интернета чтобы.
Думаю, ничего невозможного здесь нет. Но необязательно ставить два Ozi. Можно же переключаться на другую карту прямо в одном. Жмёшь точку, находящуюся посреди стрелок, и выбираешь нужную карту. Это гораздо экономичней, чем запускать две программы. Для скачивания снимков я пользовался программой MapBuilder, только она сейчас не поддерживается автором, но, однако, работает. Можно и через SASGIS.
Кстати, в новой версии Ozi ...4а теперь новая функция "бесшовная карта". То есть даёшь список карт, например, одной области или квадрата, и Ozi склеивает их, убирая поля, в одно полотно. Удобно, когда район действий попадает на стык двух-четырёх листов. Я попробовал, мне понравилось. Только показалось (?), что картинка стала чуть хуже качеством, видимо, из-за сжатия.
Не совсем понял как это? В Ози у меня установлено автоматическое открытие карты по текущим координата, притом, если карт несколько - открывается самая подробная. Это удобно и я от этого не собираюсь отказываться. Вряд ли можно создать опцию «Открыть альтернативную карту», при которой бы открывались карты из другого списка – например гугловские – опять-таки автоматически по текущим координатам. Проще поставить два ОЗИ и прописать их в оболочке.
А это интересно!!
Т.е. при движении по карте при приближении к краю не будут появляться поля, а сразу будет продолжение от следующей карты ? Если так, то стоит попробовать! Не знаю как в других районах, но у нас стыки карт приходятся на самые «нужные места» даже город разделен на две части.
Да нет, тут всё просто. Есть такая функция у Ozi: "Найти другие карты для этой позиции". Вызывается нажатием на жёлтую точку.
http://s39.radikal.ru/i084/0911/80/a0065cb57aa4.jpg
Вылетает список карт, на которых содержится область, входящая в экран. Можно выбрать нужную карту. НО! Это оказалось неудобно, потому что карты долго грузятся, ведь открыта может быть только одна. Поэтому всё же два Ozi будет лучшим решением. Устанавливать две программы необязательно, можно и просто дважды запустить одну и ту же. Единственное, что для двух одновременно работающих программ должен разветвляться COM-порт. GPSGate годится, только для удобства необходимо при запуске каждой копии Ozi указывать, с каким виртуальным COM-портом она должна работать. Но это же можно сделать!
Да, именно так! Всё, что не входит в map-файл, отсекается.
PS У нас город разделен на 4 части (на 500-метровках).
А не подскажешь где лекарство есть на 4а
А чтобы карты быстро грузились надо чтобы они были в ozf3
А вот как переназначить виртуальный COM-порт? он прописывается в кофигурации и при запуске второй проги будет опять туда же долбиться и как показывает практика вторая программа данных джпс не получит (в моем скрипте запуск второй ОЗИ как раз и не допускается для этого) А GPSGate у меня стоит на три виртуальных канала - ози, 2гис, и RR
Name: Бrbol Tйcnicos
Serial: $37A162D4
Всё равно на загрузку сколько-то уйдёт, OZF3 тоже не маленькие. И ведь это каждый раз, когда захочешь посмотреть другую карту.
Надо сделать такой скрипт: сначала запускаем первую программу с установкой для неё, допустим, порта COM4, а затем запускаем вторую программу уже с установкой порта, к примеру, COM5. Я тут сейчас пробовал написать такой скрипт. Глубоко копать времени не было, поэтому способы с надёжными командами не получились. Пришлось всё делать мышью. Но работает. В последней версии можно убрать тулбары в самой программе, поэтому из скрипта эти команды я удалил, тем более что при их исполнении необходимо как-то растягивать окно с картой, а почему-то это не получилось. Ещё стОит подумать, как сделать, чтобы только одна открытая программа писАла трек.
Большое СПАСИБО за лекарство.
Посмотрел твой au3 идея понятна. Но мышью тыкать это действительно не надежно - вечно чуть что она промахивается либо кликает по неактивному окну. Если все-таки удастся посадить две проги в разные места ( ну например одну в корневой каталог другую в програмс файл) то скрипт значительно упростится - просто второй RUN будет запускать с другого места, а установки заранее прописаны и в том числе кому писать трек. И ни какого кликанья мышкой! А идея запускать сразу две программы интересна ...
А какое окно (карта) открывается на экране? - последнее? и как переключать карты? - тоже через скрипт?
А на счет ozf3 - не важно какого он размера может даже больше чем джипег главное то, что он может грузиться по частям то есть только та часть файла которая сейчас на экране. Реально у меня карты стали грузится на порядок быстрее.
Вот поставил версию 396.4а в C:\Program Files (еще раз большое спасибо за таблетку!). Версия 395.4м уже сидит там с год - обе версии отлично работают сами по себе и одновременно - загрузил обе с разными картами. НО!:confused:
Классы команд одинаковые. имя, если не считать файл карты - тоже одинаковое!
AutoIt Window Info выдает для 395.4 (прицел в центре)
>>>> Window <<<<
Title: OziExplorer - N-40-064.jpg
Class: TfmMainForm
Position: 30, 522
Size: 556, 445
Style: 0x16CF0000
ExStyle: 0x00010100
Handle: 0x0009079A
>>>> Control <<<<
Class: TScrollBox1
Instance: 1
ClassnameNN: TScrollBox11
Advanced (Class): [CLASS:TScrollBox1; INSTANCE:1]
ID: 722774
А для версии 396.4а
>>>> Window <<<<
Title: OziExplorer - N-40-026.jpg
Class: TfmMainForm
Position: 50, 27
Size: 547, 478
Style: 0x16CF0000
ExStyle: 0x00010100
Handle: 0x000507AA
>>>> Control <<<<
Class: TScrollBox1
Instance: 2
ClassnameNN: TScrollBox12
Advanced (Class): [CLASS:TScrollBox1; INSTANCE:2]
ID: 395216
Карта в старой версии выделялась прицелом AutoIt Window Info черной рамкой, в новой этого нет...
Видимо надо помудрить... Как их различать то? RR этого явно не сможет - только через скрипт.
Программа не чисто виндусёвая, много написано чуть ли не на ассемблере, отсюда и проблемы с автоитом.
Я попробовал установить два экземпляра программы (одинаковых) и сделать в них разные установки. Всё получилось, ведь ini-файлы у них разные. Получается, что автоит здесь может пригодиться, чтобы одним нажатием запускать обе программы (может, и GPSGate ещё). Только надо указать одной программе путь к картам обычным, а второй - к гуглевским, причём они должны лежать отдельно, иначе придётся загружать карты вручную, что уже нехорошо.
Да скорее всего это удастся реализовать! Естественно карты должны лежать в разных папках, а GPSGate у меня загружается вместе с виндой. Вопрос как автоиту различать программы?
Вся прелесть моего скрипта (в отличие от SKINbedder), что он только загружает программу, а потом уходит, как тот мавр, и не мешается и не тормозит. А в этом случае придётся осуществлять постоянный контроль...
Ну на худой конец, поставлю вторым "GPS треккер" - с прямоугольными картами он будет работать.
Теперь вопрос как собрать гугловские карты для ози?
Я пробовал Google_Earth_ Pro - карты открывает, сохраняет большой джипег, но не создает mар файл привязки. Приходится в ручную по контрольным точкам записывать на бумашку координаты, а затем калибровать в ози.
SASGIS у меня наотрез отказался открывать гугловские карты (типа сервер не найден!), а яндыксные открывает.
Сейчас скачал МapBuilder for Google Maps 1.6
Буду разбираться!
MapBuilder - программа хорошая, она реально работает. Только лучше пользоваться самой последней версией 1.9. В ней многие баги устранены. Вот только третьего дня я ей скачал приличный кусок Рязанской области (около 64 МБ получилось). Качать долго, в процессе приходится перезапускать закачку из-за ошибок скачивания. Но в конце концов всё получается. Я так понимаю, что удобней всего скачивать только необходимый кусок изображения, куда собираешься ехать. Так и быстрее, и файл получается поменьше. Большие фрагменты довольно громоздки.
А вот SASGIS действительно гуглевские карты не качает, то есть как раз карты-то он качает, а снимки - нет. Наверно, забанили его. Надо на форуме посмотреть, что да как.
Так, всё ясно. Обновление версии рулит.
Нашел MapBuilder - 1.9 Про программу почитал.... Я как понял можно с ее помощью сделать снимки размером с генштабовские введя их угловые координаты. Т.е. иметь снимки из блоков 20х30минут сопадающие с генштабовскими блоками и тогда можно оставить один ОЗИ и для каждой точки иметь только две карты, вернее одну карту (генштабовскую) и один снимок и переключать кнопкой на панели (если будет только одна альтернатива может быть ее удастся переключить без доп меню). Вот только кнопкой на какой панели? ... хорошо бы RR -открыть пользовательскую панель ОЗИ мне не хочется. Или в крайнем случае, через спец скрипт: - открыть панель, нажать мышкой что нужно и опять все закрыть. Тоже вариант....:confused:
На сайте ОЗИ есть такая штука OziAPI.dll - я как понял с ее помощью можно все это организовать. Автоит поддерживает работу с API.dll. Но я честно говоря в этом не бильмесом...:(
пробовал oziapi.dll через autohotkey. В AHK есть функция (DllCall) для работы через api. У меня получилось только закрывать озик. Другие команды требуют дополнительных параметров (например создание точки требует передачу координат, названия и т.д) я не разобрался в синтаксе как передавать эти дополнительные параметры. А тема интересная. Я в програмировании не особо. Может кто разовьет эту тему - Ozi и AHK.
Поддерживаю на все 100%
Это здорово бы упростило работу с Ози в PCCAR
Ведь ОЗИ скорее редактор чем треккер - нет полноэкранного режима мало горячих клавишь и т.д.
Расшифровка АРI продвинуло бы исползование его в PCCAR
Но кто разберет эту тарабарщину??:
Map Commands
--------------------------------------------------------------------------------
Load Map
function oziLoadMap(var MapName:pansichar):integer;stdcall;
Loads a map file
Specify the full path and name of the file.
--------------------------------------------------------------------------------
Toggle map saved flag
function oziSaveMap(var MapName:pansichar):integer;stdcall;
If Flag is true then the map loaded into OziExplorer is assumed to be saved and the user will not be prompted to save it when a new map is loaded or OziExplorer is closed.
------------------------------------------------------------------------------
Find map at position
function oziFindMapAtPosition(Lat,Lon:double):integer;stdca ll;
Requires OziExplorer version 3.90.4h2 or later
The available maps will be scanned and a list of maps presented for selection (within OziExplorer), the map will be centered on the specified position and a mark added at the position (a bullseye).
--------------------------------------------------------------------------------
Check if position on map
function oziIsPositionOnMap(lat,lon:double):integer;stdcall ;
Versions
API - 1.05
OziExplorer - 3.95.2
lat,lon - the position in decimal degrees (WGS 84 datum)
Returns 1 if the position is on the current map 0 if it is not on the map.
Useful to create a moving map in OziExplorer without using the OziExplorer built in moving map function.
--------------------------------------------------------------------------------
Find best map for position
function oziFindBestMap(lat,lon:double;SubFolders:integer;v ar MapPath:pansichar;var MapFile:pansichar):integer;stdcall;
Versions
API - 1.05
OziExplorer - 3.95.2
lat,lon - the position in decimal degrees (WGS 84 datum)
SubFolders - 0 = do not search subfolders ; 1=search subfolders
MapPath - the path to search, use the oziGetMapFilePath command if you want the Map File path setting.
MapFile - the name of the best map is returned in this variable
Will return the best (most detailed) map it finds which matches the lat,lon position.
Useful to create a moving map in OziExplorer without using the OziExplorer built in moving map function.
:confused::confused::confused:
P.S. Во еще и язык показывает !
Вместо морды с языком :р
Но может все проще...
Можно оказывается назначить горячую клавишу (например F7)
А открывающееся окно - индефицировать => задать размер и положение
(и тогда мышка не промахнется) => выбирать одну из двух карт по очереди
=> потом закрыть окно.
Нужно назначить горячую клавишу на команду Other - Find maps at Current Position. Появится окошко со списком карт, покрывающих текущую позицию. Надо выбрать нужную карту, нажимая стрелку вниз, затем Enter. Мышь не нужна даже.
Кстати, SAS Планета тоже может скачивать область, заданную координатами углов. Только для одного листа 500-метровки ГШ требуется скачать более 9700 блоков, если с 18-м разрешением. Это много.
Вот попробовал --- сделал копию файлов N40-040 (с -1) теперь по горячей клавише открывает список из двух карт Но! последовательность файлов в списке одна и таже не зависимо от того какая карта открыта и надо поставить галочке против опции "Auto Close Window on Map Open"
Тогда:
1. При выборе соответствующей горячей клавиши появится окно "Мар Available for this Position" с двумя картами
2. Нажатие стрелки вниз и выбирается первая по списку карта.
3. Нажатие стрелки вниз еще раз и выбирается вторая по списку карта.
Enter - закрывает окно и грузит выбранную карту.
http://www.compcar.ru/forum/attachme...1&d=1259577430
Можно сделать конечно два скина и две клавиши одну для генштабовской, другую - для космоснимка.
Вот только бы надо одну клавишу, чтобы она попеременно переключала карты один раз генштабовскую, другой - космоснимок.
Скорее это надо в оболочке сделать через переменную...
Попробовал программу MapBuilder - Великолепно!
Но вылезла одна проблема !!! Снимок с генштабовскую карту уровнем 17 имеет размер более 200метров! Придется как минимум на 12 делить. Но это еще не все!
Снимок априори имеет более высокое разрешение - значит всегда будет грузиться он, а не карта. Скорее всего придеться возвращаться к идее с двумя ОЗИ.
Вот и правильно, что двигаюсь в двух направлениях.
Для двух ОЗИ наверно надо создать файл "скрипт.ini" в нем прописать ID и текущее состояние для распознавания программ . И через него проводить все переключения.
Об чём и речь-то! Просто снимки намного более детальны, чем карты ГШ.
Эта проблема как раз обходится. Можно запретить поиск более детальных карт, и тогда будет грузиться то, что нам нужно.
Я пока не допёр, как можно распознавать две открытые одинаковые программы, но зато написал вот такой скрипт, который в одной программе переключает карты. Конечно, это решение не универсально, прежде всего потому, что опирается на определённое разрешение экрана, а также на определённый набор карт и снимков. Но в случае необходимости можно подработать под текущие условия.
Это я как понял ВОТ ТАК:
http://s57.radikal.ru/i155/0912/2d/9903b45d7752.jpg
1. здесь мы прописываем пути к генштабовским картам
2. здесь мы прописываем пути к снимкам со спутников (Вот здесь надо уточнить - в первом пути путь к снимкам или в первом надо продублировать путь к картам а во втором прописать путь к снимкам??)
3 Здесь мы запрещаем поиск более детальных карт. (а вот галочка "Current Map Path" для чего ? или она просто дублирует работу с текущей папкой карт? она должна стоять или нет? что будет происходить когда мы например едим по снимку и приблизимся к его границе? Надо пробовать! К сожалению авто на приколе проверить не получится.
При каждом открытие программы её окну присваивается номер ID и он сохраняется при смене карт. Так как у каждой проги номер свой, их можно различать.
Посмотрел твой скрипт все замечательно. Но мне бы хотелось чтобы программа не висела постоянно, а закрывалась бы сразу после разворачивания окон. А переключение карт выполнял другой скрипт.
Вот для этого и нужен файл "скрипт.ini", в котором можно запомнить номер ID каждой проги и сделать переключатель (key), например karta=0 - работает прога с картами, karta=1 - работает прога со снимками.
Все это делается очень просто командами автоита:
IniRead ( "filename", "section", "key", "default" )
IniWrite ( "filename", "section", "key", "value" )
Если туда еще прописать пути к прогам ОЗИ, размеры экрана и окон, то скрипты можно сделать универсальные.
P.S. Но я все таки склоняюсь к первому решению с одной прогой....
Вот попробовал с MapBuilder собрать карту для ОЗИ на 10' долготы и на 5' широты
снимок уровнем 17 имеет более 7000х8000 пикселей и размер более 16Мб!
Размер нормальный и в ozf3 грузится быстро будет, вот только чуть ли не целый день ползал по снимку с высотой камеру 1 км, пока все блоки не зацепил! Может есть какой другой способ загнать нужные блоки в кеш Google Earth Pro.
Высоты камеры 1км хватает и для 18-го уровня только что-то сбоит на середине при сборке.
По порядку:
1) Путь, вводимый на картинке №1 - Map File Path Путь к файлам карт - директория, где находятся файлы привязки карт (. map). Желательно использовать папку Maps программы OziExplorer. Для карт разных регионов Вы можете создавать подпапки в директории MAPS.
2) Пути, вводимые на картинке №2 - Image File Paths Это меню позволяет установить пути поиска образа для загружаемой карты.
Последовательность поиска файлов изображения:
Проверяется путь к файлу изображения, сохраненному в файле ".map"
Далее проверяется папка, где сохранен файл привязки (.map)
Затем, если отмечено, пути к файлам образов карт.
Далее проверяются диски, которые были отмечены.
CD-приводы
3) На картинке №3 - Always Check for More Detailed Maps Проверять наличие более подробной карты - через интервал, который Вы определили, OziExplorer проверит наличие более подробной карты. Выбор основан на определении расстояния на пиксель. Если другая карта имеет меньшее расстояние на пиксель, она будет найдена и загружена. Поиск карт будет происходить в директории установленной Вами в меню Система - Путь к файлам карт. Для предотвращения большой нагрузки на жесткий диск минимальный интервал проверки ограничен 30 секундами.
Current Map Path Только текущая папка - при установленном флажке будет происходить поиск следующей карты в той папке, откуда была загружена текущая. В противном случае будет использоваться поиск в директории прописанной в строке Путь к файлам карт
Информация взята из русского хелпа по OziExplorer.
Да, ID получается уникальный для каждой программы, вернее, для каждого окна. Только он присваивается каждый раз новый при запуске программы, так что его надо как-то считывать каждый раз.
И ещё я не понял, какой элемент компьютера (дисплея, или клавиатуры, или мыши) должен переключать карты. Поскольку речь идёт о CarPC, то клавиатура и мышь вроде отпадают. Тогда остаётся экран, точнее, тач-панель. На ней должна быть какая-то кнопка, видимая при работе Ozi, чтобы можно было в любой момент её нажать. Причём наличие этой кнопки не зависит от того, используется ли одна программа с переключением карт, или же две программы с переключением их самих. Эта непонятка из-за того, что я не пользуюсь тач-панелью, у меня обычный нетбук, поэтому никаких фронтэндов на нём нет. И в принципе, можно переключать два открытых Ozi комбинацией Alt+Tab либо просто тыкая в иконки, сидящие в трее. С одним работающим Ozi такой номер не проходит, слишком много надо тыкать. Вот скриптик и помогает.
Закачка снимков - дело долгое и муторное. Но в проге SAS Планета процесс можно автоматизировать, задав координаты углов нужного участка и сохранив это задание. Сегодня скачиваешь кусок, не успел - завтра докачиваешь. Причём совсем не нужно лазить по Google Earth, всё видно в самОй Планете. Только вот я бы скачивал снимки с максимально возможным разрешением, потому что потом это может сильно пригодиться, например, чтобы найти дорогу, речку маленькую и т. д. Правда, говорят, что не все уровни являются честными снимками, некоторые получаются из соседних путём уменьшения или увеличения. Какие именно уровни настоящие - никто не знает. Для Рязанской области максимальный уровень - 18, при бОльших значениях лишние детали не добавляются. А минимальный - 14, дальше начинается плохое разрешение. Вот я и скачиваю 18, 16, 14 уровни. Потом, когда скачаю всё, сделаю несколько карт-снимков, коими и буду пользоваться.
Я тоже вчера перечитал русский хелп - это перевод с английского на русский.
А теперь надо перевести с русского на русский.
Что такое образец карты? чем он отличается от просто карты?
Что подразумевается под текущей директорией? Директория карты которая открыта последней или та которая прописана как основная и из которой загружена последняя не альтернативная карта . А поддиректории будут открываться? Т.е если у нас в 1 прописаны карты и мы загрузились и едем по ним, а потом переключились на спутники из другой папки прописанной в 2 - она станет текущей при достижении края карты и необходимости загрузки следующей? А если мы галочку уберем, то всегда будет грузится из папки прописанной в 1? и чем все таки отличаются пути приписываемые в 1 и в 2?? При каких командах он ищет только в 1 а при каких в 2???
К сожалению нет возможности проверить. в р.в. - приемник ЖПС остался в авто под панелью.
Но я думаю что здесь решение можно найти - ведь для чего-то сделаны разные пути 1 и 2.
Вот я поэтому и говорю что надо создать ини файл. При запуске каждой проги считывать ее ID и сохранять в ини в строчке
INIOZI1=27486
INIOZI2=38567 ... например.
А потом в командах скина переключения карта\спутник считывать нужный код из ини и обращаться к нужной ОЗИ через ее код ID.
Для того чтобы не делать две кнопки карта\спутник а переключать их одной - тоже в ини запоминать, что загружено последним....
В PCCAR cкрипт нужен в любом случае... а запускать командой из фронтэнда на кнопку (которую надо нарисовать) типа RUN(скрипт.exe) Ну можно еще и на ирлинк повесить...
А в ноуте можно наверно без скрипта если две проги - то через трей переключать, а одну через панель где кнопка со стрелками или клавишу F прописать. А если надо одним тыком то через скрипт с ожиданием нужной комбинации клавы - но тогда он все время висеть должен.
Вот нашел способ пополнить кеш - нужно просто сохранить кусок на экране с максиманым разрешением в Google Earth Pro.
Для указанного выше размера (10' долготы и на 5' широты) и уровня 17 надо выставить четверть на экране т.е. сделать всего 4 записи экрана с высоты примерно 7,5км. Но блоки получаются 16-40Мб!!
"Карта" для Ozi состоит из двух файлов: графического (ozf3, jpg, gif, bmp и др.) и файла привязки (map), содержащего информацию о соответствии каждой точки (пикселя) графического файла конкретным координатам (широта и долгота). Причём содержимое графического файла для Ozi не имеет никакого значения, там может быть нарисовано всё что угодно. Значение имеет наименование, которое должно быть прописано в map-файле, и размеры в пикселях, которые также прописаны.
Папки, где хранятся графические файлы ("образцы") "карт" и map-файлы, могут быть различными. Поэтому пути к этим папкам указываются отдельно для map-файлов и для образцов.
Директория карты, которая открыта последней.
Нет возможности каким-либо образом указать Ozi, что обычные карты лежат там-то, а космоснимки - в другом месте, так как для него различий между этими типами "карт" нет.
Если у нас графические файлы хранятся в одной папке с map-файлами, то и пути, прописанные в 1 и 2, должны быть одинаковыми. Как правило, все "карты" лежат в папке OziExplorer\Maps разложенными по субдиректориям квадратов, областей и т. д. Поэтому, опять же как правило, в 1 и 2 указывают путь именно к папке OziExplorer\Maps, тогда Ozi для текущего местоположения всегда найдёт нужную "карту" (если, конечно, она вообще есть).
Если использовать два отдельных Ozi и разложить обычные карты и космоснимки по разным папкам, то можно указать пути к "картам" каждому Ozi свои, тогда ничего не перепутается.
Если использовать один Ozi, и все "карты" свалить в одну папку, то переключение с карты на спутник будет работать в пределах одной "карты", пока не выйдем за её границы. Тогда Ozi загрузит другую "карту", и неизвестно, какая это будет "карта". Если у нас будут спутниковые снимки, по границам точно совпадающие с картами ГШ, то дело несколько упрощается, так как переход на другой лист как для карты, так и для спутника будет происходить одновременно, таким образом, расположение карт, доступных для текущей позиции, в списке останется прежним, что позволит переключаться тем же скриптом.
Трудность в том, что не вся местность покрыта всеми масштабами карт ГШ. В частности, 500-метровки есть далеко не все. Отказаться от них совсем, оставив только километровки, покрывающие всю местность, глупо. Тогда необходимо сделать так, чтобы каждому листу карт ГШ (в разных масштабах) соответствовал такой же лист спутниковых снимков. Но и они не покрывают всю местность, по крайней мере с хорошим разрешением.
Отсюда вывод: полностью автоматизировать процесс переключения с карты на спутник в одном Ozi невозможно.
А возможно для конкретного случая (например, поездки в определённую местность) сделать специальный набор: карта ГШ плюс спутниковый снимок, заслать их в отдельную папку и указать Ozi пути к этой папке. Тогда в списке карт, доступных для текущей позиции, будет только две карты, причём спутниковый снимок всегда с лучшим разрешением, чем карта ГШ, так что порядок следования карт в списке будет строго определённым, что позволит автоматизировать переключение.
Понятно... Но есть несколько новых вопросов...
Если путь к образам карт пишется в 2, то зачем путь еще пишется в самом map файле в третьей строчке?
A если в C:\OziExplorer\Maps имеется насколько поддиректорий (и в самой папке файлов нет) найдет ли через п.1 ОЗИ путь к файлам map.
А что будет и откуда тогда вызываться по кнопке?
http://s39.radikal.ru/i084/0911/80/a0065cb57aa4.jpg
Кстати сделал с помощью MapBuilder снимок куска карты N40-040 где сейчас нахожусь, только 1/12 часть (10' долготы и на 5' широты) поместил снимок с образом в одну папку с картой т.е в C:\OziExplorer\Maps. Так вот: через загрузку снимок в ОЗИ грузится. А через эту кнопку нет (в списке загрузок не появляется) В тоже время клон карты N40-040 в списке загрузок появляется.:eek:
На днях обещают принести 338БТ глобалсат - буду через голубой зуб пробовать... Только особо времени нет работу работать надо
Вот попробовал дома...Там все карты и образы сидят в одной папке E:\MAP в Озе в 1 и в 2 прописан путь к этой папке. Все карты - двухкилометровки и одна карта с образом 5-километровка (центр)
Открываю ОЗИ с картой N40-040 и при нажатии кнопки со стрелками появляется окно с двумя картами N40-040 и 500k-n40-1 Все правильно, так как первая лежит внутри второй! Теперь создаю в E:\MAP папку 111 и переношу туда оба файла 500k-n40-1 и в третьей строчке файла 500k-n40-1.map прописываю E:\MAP\111\500k-n40-1.gif и, хотя опция "только текущая папка" стояла, ОЗИ снова находит обе карты (а может быть и без записи в .map нашел бы?) Как показано на картинке! Закрываю Ози с 5-километровкой - открывается снова с 5-километровкой. Закрываю Ози с 2-километровкой - открывается снова с 2-километровкой. Ведь стоит опция загружать последнюю карту.
Выводы: Скорее всего, если в директории, указанной в 1 и 2 (E:\MAP) создать две папки, например E:\MAP\карты и E:\MAP\снимки и если в 3 (навигация в пути) стоит опция "только текущая папка", мы всегда будем двигаться только по картам или только по снимкам. Переключение можно производить кнопкой со стрелками - она то видит обе папки. А автоматизировать переключение с помощью скрипта, как мы выше выяснили, дело не хитрое.
В map-файле путь к образу пишется не всегда, и даже рекомендуется эту запись оттуда удалять, если она там есть. Потому что по этому пути Ozi ищет графику в первую очередь, а если путь тупиковый, то просто затратится лишнее время. При переносе папки с картами с одного компьютера на другой гораздо проще и быстрее указать один путь для всех карт в 1 и 2. А поскольку мы указываем всю папку OziExplorer\Maps, то искать он будет во всей папке, в том числе и в субдиректориях. Пример: у меня карты ГШ разложены по квадратам, а внутри каждой папки квадрата ещё папки с разными масштабами. Плюс в корне папки \Maps лежат спутниковые фото. При нажатии кнопки в окошке появляются все карты, на которые попадает рассматриваемая местность.
А где в это время лежал map-файл для снимка? Всё-таки Ozi ищет в определённых папках.
А какой смысл в приёмнике? Дома он может вообще спутников не поймать. В Ozi есть симулятор NMEA, может, его попробовать?