openlayers-react
Version:
OpenLayer React Components
3 lines (2 loc) • 2.74 kB
JavaScript
;function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var React=_interopDefault(require("react")),olMap=_interopDefault(require("ol/Map"));function __rest(e,o){var n={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&o.indexOf(t)<0&&(n[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(t=Object.getOwnPropertySymbols(e);r<t.length;r++)o.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(e,t[r])&&(n[t[r]]=e[t[r]])}return n}var CurrentMapContext=React.createContext(null),MapContext=React.createContext(null),OlMap=function(e){var o=e.mapId,n=e.children,t=e.initialMapOptions,r=e.onchange,a=e.onchangeLayerGroup,c=e.onchangeTarget,p=e.onchangeView,l=e.onclick,i=e.ondblclick,s=e.onmovestart,u=e.onmoveend,g=e.onpointerdrag,d=e.onpointermove,m=e.onpostcompose,f=e.onpostrender,v=e.onprecompose,C=e.onpropertychange,y=e.onrendercomplete,x=e.onsingleclick,M=__rest(e,["mapId","children","initialMapOptions","onchange","onchangeLayerGroup","onchangeTarget","onchangeView","onclick","ondblclick","onmovestart","onmoveend","onpointerdrag","onpointermove","onpostcompose","onpostrender","onprecompose","onpropertychange","onrendercomplete","onsingleclick"]),h=React.useRef(null),O=new olMap({controls:t.controls,interactions:t.interactions,layers:t.layers,view:t.view,overlays:t.overlays}),b=React.useContext(MapContext);return o&&b&&b.registerMap(O,o),React.useEffect(function(){return r&&O.on("change",r),a&&O.on("change:layerGroup",a),c&&O.on("change:target",c),p&&O.on("change:view",p),l&&O.on("click",l),i&&O.on("dblclick",i),s&&O.on("movestart",s),u&&O.on("moveend",u),g&&O.on("pointerdrag",g),d&&O.on("pointermove",d),m&&O.on("postcompose",m),f&&O.on("postrender",f),v&&O.on("precompose",v),C&&O.on("propertychange",C),y&&O.on("rendercomplete",y),x&&O.on("singleclick",x),h.current&&O.setTarget(h.current),function(){O.setTarget(void 0)}},[h]),React.createElement(CurrentMapContext.Provider,{value:{map:O}},React.createElement("div",Object.assign({ref:h},M),n))};function Control(e){var o,n=e.controlType,t=e.controlProps,r=e.mapId,a=__rest(e,["controlType","controlProps","mapId"]),c=React.useContext(MapContext),p=React.useContext(CurrentMapContext),l=React.useRef(null);return c&&r?o=c.maps.get(r):p&&(o=p.map),React.useEffect(function(){var e=new n(Object.assign({},t,{target:l.current}));return o&&(e.setMap(o),o.addControl(e)),function(){o&&o.removeControl(e),e.dispose()}},[o]),React.createElement("div",Object.assign({ref:l},a))}exports.Control=Control,exports.CurrentMapContext=CurrentMapContext,exports.MapContext=MapContext,exports.OlMap=OlMap;
//# sourceMappingURL=index.js.map