1e3a5f4d

Визуализация новой карты - 5


Код в листинге 2 сначала находит полевой офис, ближайший к расположению, заданному пользователем, используя метод identify(). Входные параметры – это имя целевой таблицы (FIELD_OFFICES), по которой будет производиться поиск, список возвращаемых столбцов и расположение мыши в системе координат экрана.

Далее, код определяет координаты основания, соответствующие расположению этого клика мыши:

Point2D p2 = mv.getUserPoint( mapClickX, mapClickY);

Затем код добавляет символ маркера PIN к этому расположению:

mv.addPointFeature( p2.getX(), p2.getY(), srid, "M.CYAN PIN", //a PIN marker style null, null, null);

Далее, код добавляет линию, соединяющую эти два расположения с новой картой:

mv.addLinearFeature( new double[]{p2.getX(), p2.getY(), officeLoc.getX(), officeLoc.getY()}, srid, "NEAREST_LINE_STY", null, null, false);

Так как вы добавляете только PIN и линейные объекты к новой карте, то расточительно повторно генерировать все это хозяйство. Поэтому вы просто используете предыдущую карту как фон, временно дезактивируя все другие темы, и выдаете запрос к карте таким образом:

if(mv.getBackgroundImageURL()==null) mv.setBackgroundImageURL( mv.getGeneratedMapImageURL()); String[] enabledThemes = mv.getEnabledThemes(); mv.setAllThemesEnabled(false); //temporarily disable themes mv.run(); // reissue map request to // draw PIN and line

Как только вы сгенерируете новую карту, вы повторно активируете темы и убираете PIN и линейные объекты:

mv.enableThemes(enabledThemes); mv.removeAllPointFeatures(); // clean up the PIN marker mv.removeAllLinearFeatures(); // clean up leader line as well

И теперь у вас есть новая карта, получите атрибуты ближайшего офиса, и она готова к представлению информации.

Представление результирующей страницы

Секция представления результирующей страницы файла main.jsp содержит простые HTML-тэги. Инструментальная панель показана в листинге 3.

Код листинга 3: Представление инструментальной панели результирующей страницы

<!-- Left column : toolbar and map image --> <TD width="<%=width%>" bgcolor="#d4d0c8"> <% // pick up the correct icon file for the toolbar buttons String[] toolbarNames = new String[]{"zoomin", "pan", "zoomout", "zoombox", "id"}; String[] toolbarImgs = new String[toolbarNames.length]; for(int i=0; i<toolbarImgs.length; i++) { if(toolbarNames[i].equals(action)) toolbarImgs[i] = "myicons/" + toolbarNames[i] + "_dn.png"; else toolbarImgs[i] = "myicons/"+toolbarNames[i]+".png"; } %> <%@ include file="toolbar.html" %> </TD>




Начало  Назад  Вперед