Рубрики
Без рубрики

Oracle Maps и Marquezoomtool на клавишу Shift

Oracle Maps и Marquezoomtool на клавишу Shift. Помечено Oracle, Oraclemaps, OraclemapViewer, JavaScript.

Oracle Maps Intro

Oracle Maps (Short OM) не чаще всего используется библиотека JavaScript для карт, Но это очень прилично для отображения данных о геодефере. Большинство разработчиков, когда речь заходит о картах, обращаются к библиотекам JavaScript, таким как Leavlet и Openlayers. Карты Oracle лучше всего использовать с Oracle Map Periefer, есть некоторая поддержка стандартов OGC, поэтому вы можете добавить слои из GeoServer, но не ожидаете их расширенного использования.

Marquezoomtool

Zoom Tool – это стандартный инструмент в OpenLayers. Ваш прямоугольник с удерживанием левого ключа на мышь и Сдвиг Ключ и карта увеличивают саму эту конкретную область, нарисованную. В приведенном ниже примере вы можете попробовать это с OL.

В OM это не стандартный инструмент, Ключ сдвига не реализован И есть 3 типа поведения.

Om.tool. Marquezoomtool. One_time – только один раз, после того, как инструмент будет активен, он будет деактивировать себя, когда Zoom будет выполнен.

Om.tool. Marquezoomtool. Продолжается – инструмент всегда активен, на карте нет управления PAN/перетаскивания.

Om.tool. Marquezoomtool. Подсказка – инструмент всегда активен, и вы рисуете прямоугольник и нажимаете на него, чтобы увеличить масштаб, если вы нажмете куда -нибудь еще, вы отменяете масштаб.

Marqueezoomtool на клавишу Shift

Итак, в OM мне пришлось сделать хакер, чтобы заставить это работать с ключом Shift. Я Instanced Marquezoomtool с параметрами One_time.

После этого я добавил обработчик событий “Mousedown” на свойство $ oraclemapdiv объекта MAP. $ oraclemapdiv Property фактически jQuery Selector, так что «ON» можно получить для регистрации событий.

Функция обработчика событий проверяет, нажимается ли клавиша Shift, если отключить действие перетаскивания карты) и активировать Marquezoomtool, вызывая “start ()” и “Начни (е)” Рисуя прямоугольник для масштабирования.

var map = new OM.Map(
                document.getElementById('map'),
                {mapviewerURL: baseURL}
           );


var marqueeZoomTool = new OM.tool.MarqueeZoomTool(
                       map,  OM.tool.MarqueeZoomTool.ONE_TIME
                  );

marqueeZoomTool.allowZeroSize = true;

map.$oracleMapDiv.on("mousedown", function (e) {
    if(e.shiftKey){
      map.enableMapAction.drag = false;
      marqueeZoomTool.start();
      marqueeZoomTool.begin(e);
    }
});

пример

Нормально я бы дал пример в Codepen/Jsfiddle/Jsbin. Но я не нашел ни одного публичного MapViewer или ссылки для OM.JS, который работает, поэтому я предоставил скриншот.:/

Некоторые полезные ссылки ОМ

Оригинал: “https://dev.to/isabolic99/-oracle-maps-and-marqueezoomtool-on-the-shift-key–g1d”