На одном из слоев карты в GIS WebServer возникла необходимость в всплывающих окнах при наведении. Написал в Параме следующее: <Active SemCodes="{2}" HRefText="{#2}" /> Сразу вопрос, правильно ли написал? То-есть мне необходимо чтобы отображалась семантика под номером 2, которая содержит ссылку. Это ссылка отображается корректно: http://192.168.51.112:555/TTUzNtxm?container=flv&stream=main, но при нажатии на неё становится вот такой: http://192.168.51.199/gis/http%3a%2f%2f192.168.51.112%3a555%2fTTUzNtxm%3fcontainer%3dflv%26stream%3dmain. Как это можно исправить? Плюс еще вопрос, возможно ли, чтобы отображалась картинка из семантики и при нажатии на неё мы переходили по ссылки которая тоже в семантике?
Параметр HRefText предназначен для формирования ссылки по значению семантики содержащему только имя файла или частичный путь. Если в семантике хранится полный URL (http://www...), то достаточно указать SemCodes="{2}". Чтобы такой текст отобразился в виде ссылки, необходимо модифицировать функцию mapMouseMoveInfo в файле MapView\Scripts\tooltips.js. Нужно добавить анализ текста на наличие "http://", по аналогии как это сделано для анализа расширений jpg, png... Текст, содержащий такое значение отображается как картинка. Пример реализации анализа на наличие "http" можно посмотреть в файле MapView\Scripts\mapview.js в функции mapShowObjectSummary
Код
if (Value.substring(0, 4) == 'http') {
eSemValue.innerHTML = '<a href="' + Value + '" target="blank" style="text-transform:lowercase">' + Value + '</a><br>';