openlayers多地图同步,分屏对比
/** * 多地图同步,依次传入的多个地图都会同步 * @param {Map} 地图对象 * @returns {Function} 取消同步的方法 */ export function syncMultiMap(...args) { let syncMaps = Array.from(args); let activeMap = syncMaps.shift(); for (let map of syncMaps) { // 存储自身视图对象 map._selfView = map.getView(); // 存储同步参照物 map._activeMap = activeMap; // 绑定目标视图对象 map.setView(activeMap.getView()); } return function () { for (let map of syncMaps) { map.setView(map._selfView); map._activeMap = null; } } }

浙公网安备 33010602011771号