Как было показано на схеме выше, основная последовательность действий клиента при работе с MapViewer является следующей: поиск запущенного экземпляра MapViewer, присоединение к нему, отправка картографического XML запроса и обработка результата, полученного от экземпляра MapViewer.
Запрос к сервлету MapViewer имеет следующий формат:
http://hostname[:port]/MapViewer-servlet-path?xml_request=xml-request где hostname - это сетевой путь к серверу, на котором запущен MapViewer. port - это порт, на котором сервис MapViewer слушает сеть. MapViewer_servlet_path - это путь к сервлету MapViewer (например :/mapviewer/omserver) xml_request - кодированный по правилам URL запрос в формате XML, который отсылается на сервер методами POST или GET. Форма представления запроса в виде XML требуется во всех видах запросов. Содержимое ответа на запрос может варьироваться от данных в виде XML-документа до бинарного объекта, содержащего файл изображения, запрошенного пользователем.
В отправляемом запросе необходимо указать источник данных и один или более необходимых параметров:
Темы и стили.
Координаты центральной точки или прямоугольник, задающие отображаемую карту. Также дополнительно могут быть посланы надписи и стили.
Предопределенную базовую карту, которая может быть многократно использована и частично переопределена в данном конкретном запросе.
Настроенные темы, содержащие пользовательские точки данных (или другие геометрические объекты) генерируемые динамически и отображаемые непосредственно из доступной базы данных.
Настроенные объекты (точки, линии, полигоны и пр.), заданные в строках XML запроса для отображения.
Тематическое картографирование
В нашем конкретном случае, генерируя HTML-страницу, PL/SQL-процедура выполняет непосредственно один запрос к MapViewer вида: 'http://hostserver:8888/mapviewer/omserver? xml_request='<?xml version="1.0" standalone="yes"?> <map_request datasource="ds_demo" basemap="map_demo" width="640" height="480" bgcolor="#FFFFFF" antialiasing="false" format="GIF_URL"> <center size="[size]">
datasource="ds_demo" - параметр запроса, определяющий источник данных, настроенный ранее для MapViewer
basemap="map_demo" - параметр, определяющий имя базовой карты, и включающей в себя все необходимые метаданные, необходимые для формирования и отображения карты.
width="640" height="480" - эти параметры задают размеры в пикселах результирующего изображения карты
bgcolor="#FFFFFF" - параметр задает RGB-цвет фона изображения карты, поверх которого отрисовывается все остальное.
antialiasing="false" - параметр сглаживания ступенчатости на изображении карты.
format="GIF_URL" - параметр, указывающий MapViewer, что необходимо сформировать изображение карты и вернуть ссылку на него.
<center>...</center> - раздел, определяющий участок карты, котрый нужно отобразить на результирующем изображении.
size="[size]" - параметр определяющий размер карты.
<geoFeature>...</geoFeature> - раздел указывающий MapViewer, что положение отображаемого участка карты будет задано при помощи пространственного объекта (в нашем случае при помощи точки).