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”