@ -28,7 +28,9 @@ this.exportWidthInput=c;b=document.createElement("label");b.innerHTML="H\u00f6he
b . innerHTML = "Querformat:" ; a . appendChild ( b ) ; c = document . createElement ( "input" ) ; c . setAttribute ( "type" , "checkbox" ) ; b . appendChild ( c ) ; this . exportLandscapeInput = c ; b = document . createElement ( "button" ) ; b . setAttribute ( "type" , "button" ) ; b . className = "netgis-button netgis-center netgis-color-a netgis-hover-c netgis-shadow" ; b . innerHTML = "<i class='netgis-icon fas fa-check'></i><span>Exportieren</span>" ; b . addEventListener ( "click" , this . onExportButtonClick . bind ( this ) ) ; a . appendChild ( b ) } ;
b . innerHTML = "Querformat:" ; a . appendChild ( b ) ; c = document . createElement ( "input" ) ; c . setAttribute ( "type" , "checkbox" ) ; b . appendChild ( c ) ; this . exportLandscapeInput = c ; b = document . createElement ( "button" ) ; b . setAttribute ( "type" , "button" ) ; b . className = "netgis-button netgis-center netgis-color-a netgis-hover-c netgis-shadow" ; b . innerHTML = "<i class='netgis-icon fas fa-check'></i><span>Exportieren</span>" ; b . addEventListener ( "click" , this . onExportButtonClick . bind ( this ) ) ; a . appendChild ( b ) } ;
netgis . Client . prototype . initConfig = function ( a ) { var b = [ ] , c = a . folders ; if ( c ) { for ( var d = 0 ; d < c . length ; d ++ ) { var e = 1E3 + d , f = this . layerTree . addFolder ( null , e , c [ d ] . title ) ; b . push ( f ) } for ( d = 0 ; d < c . length ; d ++ ) e = c [ d ] . parent , - 1 < e && this . layerTree . setFolderParent ( b [ d ] , b [ e ] ) } if ( c = a . layers ) for ( d = 0 ; d < c . length ; d ++ ) { var g = c [ d ] ; f = - 1 < g . folder ? b [ g . folder ] : null ; e = g . id ; e || ( e = 1E3 + d , g . id = e ) ; this . layerTree . addCheckbox ( f , e , g . title ) ; g . active && ( this . map . addLayer ( e , this . map . createLayer ( g ) ) , this . layerTree . setItemChecked ( e , ! 0 ) ) } this . importFolder =
netgis . Client . prototype . initConfig = function ( a ) { var b = [ ] , c = a . folders ; if ( c ) { for ( var d = 0 ; d < c . length ; d ++ ) { var e = 1E3 + d , f = this . layerTree . addFolder ( null , e , c [ d ] . title ) ; b . push ( f ) } for ( d = 0 ; d < c . length ; d ++ ) e = c [ d ] . parent , - 1 < e && this . layerTree . setFolderParent ( b [ d ] , b [ e ] ) } if ( c = a . layers ) for ( d = 0 ; d < c . length ; d ++ ) { var g = c [ d ] ; f = - 1 < g . folder ? b [ g . folder ] : null ; e = g . id ; e || ( e = 1E3 + d , g . id = e ) ; this . layerTree . addCheckbox ( f , e , g . title ) ; g . active && ( this . map . addLayer ( e , this . map . createLayer ( g ) ) , this . layerTree . setItemChecked ( e , ! 0 ) ) } this . importFolder =
this . layerTree . addFolder ( null , "import" , "Importierte Ebenen" , ! 0 ) ; this . importFolder . classList . add ( "netgis-hide" ) ; this . editFolder = this . layerTree . addFolder ( null , "edit-folder" , "Zeichnung" , ! 0 ) ; this . editFolder . classList . add ( "netgis-hide" ) ; this . layerTree . addCheckbox ( this . editFolder , "edit-layer" , "Zeichnung" ) ; this . layerTree . setItemChecked ( "edit-layer" , ! 0 ) ; this . importButton = this . layerTree . addButton ( null , "<i class='netgis-icon fas fa-plus' style='font-size: 1em;'></i><span>Ebene hinzuf\u00fcgen...</span>" , this . onLayerTreeImportClick . bind ( this ) ) ;
this . layerTree . addFolder ( null , "import" , "Importierte Ebenen" , ! 0 ) ; this . importFolder . classList . add ( "netgis-hide" ) ; this . editFolder = this . layerTree . addFolder ( null , "edit-folder" , "Zeichnung" , ! 0 ) ; this . editFolder . classList . add ( "netgis-hide" ) ; this . layerTree . addCheckbox ( this . editFolder , "edit-layer" , "Zeichnung" ) ; this . layerTree . setItemChecked ( "edit-layer" , ! 0 ) ; this . importButton = this . layerTree . addButton ( null , "<i class='netgis-icon fas fa-plus' style='font-size: 1em;'></i><span>Ebene hinzuf\u00fcgen...</span>" , this . onLayerTreeImportClick . bind ( this ) ) ;
this . attribution . onContextUpdate ( a ) } ; netgis . Client . prototype . initOutput = function ( a ) { netgis . util . isDefined ( a . output ) ? netgis . util . isDefined ( a . output . id ) && ( this . output = document . getElementById ( a . output . id ) , this . output . value && 0 < this . output . value . length && ( a = JSON . parse ( this . output . value ) , this . map . addEditFeaturesGeoJSON ( a , ! 1 ) , this . map . zoomGeoJSON ( a ) ) ) : ( this . output = document . createElement ( "input" ) , this . output . setAttribute ( "type" , "hidden" ) , this . output . className = "netgis-edit-output" , this . root . appendChild ( this . output ) ) } ;
this . attribution . onContextUpdate ( a ) } ;
netgis . Client . prototype . initOutput = function ( a ) { netgis . util . isDefined ( a . output ) ? netgis . util . isDefined ( a . output . id ) && ( this . output = document . getElementById ( a . output . id ) , this . output . value && 0 < this . output . value . length && ( a = JSON . parse ( this . output . value ) , this . map . addEditFeaturesGeoJSON ( a , ! 1 ) , this . map . map . updateSize ( ) , this . map . zoomGeoJSON ( a ) , this . editFolder . classList . remove ( "netgis-hide" ) ) ) : ( this . output = document . createElement ( "input" ) , this . output . setAttribute ( "type" , "hidden" ) , this . output . className = "netgis-edit-output" ,
this . root . appendChild ( this . output ) ) } ;
netgis . Client . prototype . initEvents = function ( ) { this . container . addEventListener ( netgis . Events . SET _MODE , this . onSetMode . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PANEL _TOGGLE , this . onPanelToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PANEL _RESIZE , this . onPanelResize . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . LAYERS _TOGGLE , this . onLayersToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . SearchPlace . Events . TOGGLE , this . onSearchPlaceToggle . bind ( this ) ) ;
netgis . Client . prototype . initEvents = function ( ) { this . container . addEventListener ( netgis . Events . SET _MODE , this . onSetMode . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PANEL _TOGGLE , this . onPanelToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PANEL _RESIZE , this . onPanelResize . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . LAYERS _TOGGLE , this . onLayersToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . SearchPlace . Events . TOGGLE , this . onSearchPlaceToggle . bind ( this ) ) ;
this . container . addEventListener ( netgis . SearchParcel . Events . TOGGLE , this . onSearchParcelToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . CONTROLS _ZOOM , this . onControlsZoom . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . CONTROLS _ZOOM _ALL , this . onControlsZoomAll . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . TOOLBOX _TOGGLE , this . onToolboxToggle . bind ( this ) ) ; this . parcelPanel . container . addEventListener ( netgis . Events . PANEL _TOGGLE , this . onParcelsPanelToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _RESET ,
this . container . addEventListener ( netgis . SearchParcel . Events . TOGGLE , this . onSearchParcelToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . CONTROLS _ZOOM , this . onControlsZoom . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . CONTROLS _ZOOM _ALL , this . onControlsZoomAll . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . TOOLBOX _TOGGLE , this . onToolboxToggle . bind ( this ) ) ; this . parcelPanel . container . addEventListener ( netgis . Events . PANEL _TOGGLE , this . onParcelsPanelToggle . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _RESET ,
this . onParcelsReset . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _FIELDS _RESPONSE , this . onParcelsFieldsResponse . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _RESPONSE , this . onParcelsResponse . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _ITEM _ENTER , this . onParcelsItemEnter . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _ITEM _LEAVE , this . onParcelsItemLeave . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _ITEM _CLICK ,
this . onParcelsReset . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _FIELDS _RESPONSE , this . onParcelsFieldsResponse . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _RESPONSE , this . onParcelsResponse . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _ITEM _ENTER , this . onParcelsItemEnter . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _ITEM _LEAVE , this . onParcelsItemLeave . bind ( this ) ) ; this . container . addEventListener ( netgis . Events . PARCELS _ITEM _CLICK ,
@ -67,7 +69,7 @@ netgis.Client.prototype.onExportPNG=function(a){this.map.onExportPNG(a)};netgis.
netgis . Client . prototype . onImportFileClick = function ( a ) { if ( a = this . importFileInput . files [ 0 ] ) { var b = a . name , c = this ; switch ( netgis . util . getFileExtension ( a . name ) . toLowerCase ( ) ) { case "geojson" : console . info ( "GeoJSON detected:" , a . name ) ; var d = new FileReader ; d . onload = function ( a ) { a = JSON . parse ( a . target . result ) ; c . addImportLayer ( b , c . map . createLayerGeoJSON ( a , ! 0 ) ) } ; d . readAsText ( a ) ; break ; case "zip" : console . info ( "Shapefile Zip detected:" , a . name ) ; d = new FileReader ; d . onload = function ( a ) { c . addImportLayer ( b , c . map . createLayerShapefile ( a . target . result ) ) } ;
netgis . Client . prototype . onImportFileClick = function ( a ) { if ( a = this . importFileInput . files [ 0 ] ) { var b = a . name , c = this ; switch ( netgis . util . getFileExtension ( a . name ) . toLowerCase ( ) ) { case "geojson" : console . info ( "GeoJSON detected:" , a . name ) ; var d = new FileReader ; d . onload = function ( a ) { a = JSON . parse ( a . target . result ) ; c . addImportLayer ( b , c . map . createLayerGeoJSON ( a , ! 0 ) ) } ; d . readAsText ( a ) ; break ; case "zip" : console . info ( "Shapefile Zip detected:" , a . name ) ; d = new FileReader ; d . onload = function ( a ) { c . addImportLayer ( b , c . map . createLayerShapefile ( a . target . result ) ) } ;
d . readAsArrayBuffer ( a ) ; break ; case "gml" : console . info ( "GML detected:" , a . name ) ; d = new FileReader ; d . onload = function ( a ) { c . addImportLayer ( b , c . map . createLayerGML ( a . target . result ) ) } ; d . readAsText ( a ) ; break ; case "sqlite" : console . info ( "Spatialite detected:" , a . name ) ; d = new FileReader ; d . onload = function ( a ) { c . addImportLayer ( b , c . map . createLayerSpatialite ( a . target . result ) ) } ; d . readAsArrayBuffer ( a ) ; break ; case "gpkg" : console . info ( "GeoPackage detected:" , a . name ) , d = new FileReader , d . onload = function ( a ) { c . addImportLayer ( b , c . map . createLayerGeopackage ( a . target . result ) ) } ,
d . readAsArrayBuffer ( a ) ; break ; case "gml" : console . info ( "GML detected:" , a . name ) ; d = new FileReader ; d . onload = function ( a ) { c . addImportLayer ( b , c . map . createLayerGML ( a . target . result ) ) } ; d . readAsText ( a ) ; break ; case "sqlite" : console . info ( "Spatialite detected:" , a . name ) ; d = new FileReader ; d . onload = function ( a ) { c . addImportLayer ( b , c . map . createLayerSpatialite ( a . target . result ) ) } ; d . readAsArrayBuffer ( a ) ; break ; case "gpkg" : console . info ( "GeoPackage detected:" , a . name ) , d = new FileReader , d . onload = function ( a ) { c . addImportLayer ( b , c . map . createLayerGeopackage ( a . target . result ) ) } ,
d . readAsArrayBuffer ( a ) } } else alert ( "No file selected!" ) } ;
d . readAsArrayBuffer ( a ) } } else alert ( "No file selected!" ) } ;
netgis . Client . prototype . addImportLayer = function ( a , b ) { this . importCounter || ( this . importCounter = 0 ) ; var c = this . importCounter + 1 ; c = "import-" + c ; this . importCounter += 1 ; this . layerTree . addCheckbox ( this . importFolder , c , a ) ; this . importFolder . classList . remove ( "netgis-hide" ) ; this . importLayers [ c ] = b ; this . map . setLayerOrder ( b , this . map . importLayerID ) ; a = this . config . styles [ "import" ] ; this . map . setLayerStyleSimple ( b , a . fill , a . stroke , a . width ) ; this . map . addLayer ( c , b ) ; this . layerTree . setItemChecked ( c , ! 0 ) ; this . importModal. hide ( ) } ;
netgis . Client . prototype . addImportLayer = function ( a , b ) { this . importCounter || ( this . importCounter = 0 ) ; var c = this . importCounter + 1 ; c = "import-" + c ; this . importCounter += 1 ; this . layerTree . addCheckbox ( this . importFolder , c , a ) ; this . importFolder . classList . remove ( "netgis-hide" ) ; this . importLayers [ c ] = b ; this . map . setLayerOrder ( b , this . map . importLayerID ) ; a = this . config . styles [ "import" ] ; this . map . setLayerStyleSimple ( b , a . fill , a . stroke , a . width ) ; this . map . addLayer ( c , b ) ; this . layerTree . setItemChecked ( c , ! 0 ) ; this . map. zoomLayer ( c ) ; this . importModal. hide ( ) } ;
netgis . Client . prototype . onImportServiceClick = function ( a ) { this . importServiceDetails . classList . add ( "netgis-hide" ) ; var b = this . importServiceInput . value ; b = b . trim ( ) ; if ( ! ( 1 > b . length ) ) { var c = b . indexOf ( "?" ) ; this . importServiceBaseURL = a = - 1 < c ? b . substr ( 0 , c ) : b ; var d = [ "request=GetCapabilities" ] ; if ( - 1 < c ) for ( b = b . substr ( c + 1 ) , b = b . split ( "&" ) , c = 0 ; c < b . length ; c ++ ) { var e = b [ c ] ; e = e . toLowerCase ( ) ; - 1 < e . search ( "service" ) ? d . push ( e ) : - 1 < e . search ( "version" ) && d . push ( e ) } a = a + "?" + d . join ( "&" ) ; - 1 === a . search ( "service=" ) ? ( netgis . util . request ( a +
netgis . Client . prototype . onImportServiceClick = function ( a ) { this . importServiceDetails . classList . add ( "netgis-hide" ) ; var b = this . importServiceInput . value ; b = b . trim ( ) ; if ( ! ( 1 > b . length ) ) { var c = b . indexOf ( "?" ) ; this . importServiceBaseURL = a = - 1 < c ? b . substr ( 0 , c ) : b ; var d = [ "request=GetCapabilities" ] ; if ( - 1 < c ) for ( b = b . substr ( c + 1 ) , b = b . split ( "&" ) , c = 0 ; c < b . length ; c ++ ) { var e = b [ c ] ; e = e . toLowerCase ( ) ; - 1 < e . search ( "service" ) ? d . push ( e ) : - 1 < e . search ( "version" ) && d . push ( e ) } a = a + "?" + d . join ( "&" ) ; - 1 === a . search ( "service=" ) ? ( netgis . util . request ( a +
"&service=WMS" , this . onImportServiceCapsResponse . bind ( this ) ) , netgis . util . request ( a + "&service=WFS" , this . onImportServiceCapsResponse . bind ( this ) ) ) : netgis . util . request ( a , this . onImportServiceCapsResponse . bind ( this ) ) } } ;
"&service=WMS" , this . onImportServiceCapsResponse . bind ( this ) ) , netgis . util . request ( a + "&service=WFS" , this . onImportServiceCapsResponse . bind ( this ) ) ) : netgis . util . request ( a , this . onImportServiceCapsResponse . bind ( this ) ) } } ;
netgis . Client . prototype . onImportServiceCapsResponse = function ( a ) { var b = ( new DOMParser ) . parseFromString ( a , "text/xml" ) . documentElement , c = this . importServiceLayerSelect ; a = this . importServiceFormatSelect ; for ( var d = c . options . length - 1 ; 0 <= d ; d -- ) c . options . remove ( d ) ; for ( d = a . options . length - 1 ; 0 <= d ; d -- ) a . options . remove ( d ) ; switch ( b . nodeName ) { default : case "HTML" : this . importServiceType = null ; console . warn ( "could not detect wms or wfs service" , b ) ; break ; case "WMS_Capabilities" : case "WMT_MS_Capabilities" : this . importServiceType =
netgis . Client . prototype . onImportServiceCapsResponse = function ( a ) { var b = ( new DOMParser ) . parseFromString ( a , "text/xml" ) . documentElement , c = this . importServiceLayerSelect ; a = this . importServiceFormatSelect ; for ( var d = c . options . length - 1 ; 0 <= d ; d -- ) c . options . remove ( d ) ; for ( d = a . options . length - 1 ; 0 <= d ; d -- ) a . options . remove ( d ) ; switch ( b . nodeName ) { default : case "HTML" : this . importServiceType = null ; console . warn ( "could not detect wms or wfs service" , b ) ; break ; case "WMS_Capabilities" : case "WMT_MS_Capabilities" : this . importServiceType =
@ -106,9 +108,9 @@ style:this.styleParcel.bind(this),zIndex:this.editLayerID+20});this.map.addLayer
netgis . MapOpenLayers . prototype . initInteractions = function ( ) { this . interactions [ netgis . Modes . VIEW ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . PANNING ] = this . interactions [ netgis . Modes . VIEW ] ; this . interactions [ netgis . Modes . ZOOMING _IN ] = this . interactions [ netgis . Modes . VIEW ] ; this . interactions [ netgis . Modes . ZOOMING _OUT ] = this . interactions [ netgis . Modes . VIEW ] ; this . interactions [ netgis . Modes . DRAW _POINTS ] = [ new ol . interaction . Draw ( { type : "Point" , source : this . editLayer . getSource ( ) ,
netgis . MapOpenLayers . prototype . initInteractions = function ( ) { this . interactions [ netgis . Modes . VIEW ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . PANNING ] = this . interactions [ netgis . Modes . VIEW ] ; this . interactions [ netgis . Modes . ZOOMING _IN ] = this . interactions [ netgis . Modes . VIEW ] ; this . interactions [ netgis . Modes . ZOOMING _OUT ] = this . interactions [ netgis . Modes . VIEW ] ; this . interactions [ netgis . Modes . DRAW _POINTS ] = [ new ol . interaction . Draw ( { type : "Point" , source : this . editLayer . getSource ( ) ,
style : this . styleSketch . bind ( this ) } ) , new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . DRAW _POINTS ] [ 0 ] . on ( "drawend" , this . onDrawPointsEnd . bind ( this ) ) ; this . interactions [ netgis . Modes . DRAW _LINES ] = [ new ol . interaction . Draw ( { type : "LineString" , source : this . editLayer . getSource ( ) , style : this . styleSketch . bind ( this ) } ) , new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . DRAW _LINES ] [ 0 ] . on ( "drawend" , this . onDrawLinesEnd . bind ( this ) ) ;
style : this . styleSketch . bind ( this ) } ) , new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . DRAW _POINTS ] [ 0 ] . on ( "drawend" , this . onDrawPointsEnd . bind ( this ) ) ; this . interactions [ netgis . Modes . DRAW _LINES ] = [ new ol . interaction . Draw ( { type : "LineString" , source : this . editLayer . getSource ( ) , style : this . styleSketch . bind ( this ) } ) , new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . DRAW _LINES ] [ 0 ] . on ( "drawend" , this . onDrawLinesEnd . bind ( this ) ) ;
this . interactions [ netgis . Modes . DRAW _POLYGONS ] = [ new ol . interaction . Draw ( { type : "Polygon" , source : this . editLayer . getSource ( ) , style : this . styleSketch . bind ( this ) } ) , new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . CUT _FEATURE _BEGIN ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . CUT _FEATURE _DRAW ] = [ new ol . interaction . Draw ( { type : "Polygon" , style : this . styleSketch . bind ( this ) } ) , new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ;
this . interactions [ netgis . Modes . DRAW _POLYGONS ] = [ new ol . interaction . Draw ( { type : "Polygon" , source : this . editLayer . getSource ( ) , style : this . styleSketch . bind ( this ) } ) , new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . CUT _FEATURE _BEGIN ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . CUT _FEATURE _DRAW ] = [ new ol . interaction . Draw ( { type : "Polygon" , style : this . styleSketch . bind ( this ) } ) , new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ;
this . interactions [ netgis . Modes . CUT _FEATURE _DRAW ] [ 0 ] . on ( "drawend" , this . onCutFeatureDrawEnd . bind ( this ) ) ; this . interactions [ netgis . Modes . MODIFY _FEATURES ] = [ new ol . interaction . Modify( { source : this . editLayer . getSource ( ) , deleteCondition : ol . events . condition . doubleClick , style : this . styleModify . bind ( this ) } ) , new ol . interaction . DragPan( { condition : function ( a ) { return 2 === a . originalEvent . which } } ) , new ol . interaction . MouseWheelZoom] ; this . interactions [ netgis . Modes . MODIFY _FEATURES ] [ 0 ] . on ( "modifyend" , this . onModifyFeaturesEnd . bind ( this ) ) ;
this . interactions [ netgis . Modes . CUT _FEATURE _DRAW ] [ 0 ] . on ( "drawend" , this . onCutFeatureDrawEnd . bind ( this ) ) ; this . interactions [ netgis . Modes . MODIFY _FEATURES ] = [ new ol . interaction . DragPan, new ol . interaction . Modify( { source : this . editLayer . getSource ( ) , deleteCondition : ol . events . condition . doubleClick , style : this . styleModify . bind ( this ) } ) , new ol . interaction . MouseWheelZoom] ; this . interactions [ netgis . Modes . MODIFY _FEATURES ] [ 0 ] . on ( "modifyend" , this . onModifyFeaturesEnd . bind ( this ) ) ; this . interactions [ netgis . Modes . DELETE _FEATURES ] =
this . interactions [ netgis . Modes . DELETE _FEATURES ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . BUFFER _FEATURE _BEGIN ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . BUFFER _FEATURE _EDIT ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . snapFeatures = new ol . Collection ; this . interactions [ netgis . Modes . SEARCH _PLACE ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . SEARCH _PARCEL ] =
[ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . BUFFER _FEATURE _BEGIN ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . BUFFER _FEATURE _EDIT ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . snapFeatures = new ol . Collection ; this . interactions [ netgis . Modes . SEARCH _PLACE ] = [ new ol . interaction . DragPan , new ol . interaction . MouseWheelZoom ] ; this . interactions [ netgis . Modes . SEARCH _PARCEL ] = this . interactions [ netgis . Modes . VIEW ] } ;
this . interactions [ netgis . Modes . VIEW ] } ; netgis . MapOpenLayers . prototype . addLayer = function ( a , b ) { b && ( b . set ( "id" , a ) , this . map . addLayer ( b ) , this . activeLayers [ a ] = b ) } ; netgis . MapOpenLayers . prototype . removeLayer = function ( a ) { var b = this . activeLayers [ a ] ; b && ( this . map . removeLayer ( b ) , delete this . activeLayers [ a ] ) } ; netgis . MapOpenLayers . prototype . createStyle = function ( a , b , c ) { var d = { } ; a && ( d . fill = new ol . style . Fill ( { color : a } ) ) ; b && ( d . stroke = new ol . style . Stroke ( { color : b , width : c ? c : 3 } ) ) ; return new ol . style . Style ( d ) } ;
netgis . MapOpenLayers . prototype . addLayer = function ( a , b ) { b && ( b . set ( "id" , a ) , this . map . addLayer ( b ) , this . activeLayers [ a ] = b ) } ; netgis . MapOpenLayers . prototype . removeLayer = function ( a ) { var b = this . activeLayers [ a ] ; b && ( this . map . removeLayer ( b ) , delete this . activeLayers [ a ] ) } ; netgis . MapOpenLayers . prototype . createStyle = function ( a , b , c ) { var d = { } ; a && ( d . fill = new ol . style . Fill ( { color : a } ) ) ; b && ( d . stroke = new ol . style . Stroke ( { color : b , width : c ? c : 3 } ) ) ; return new ol . style . Style ( d ) } ;
netgis . MapOpenLayers . prototype . setLayerStyle = function ( a , b ) { a . setStyle ( b ) } ; netgis . MapOpenLayers . prototype . setLayerStyleSimple = function ( a , b , c , d ) { this . setLayerStyle ( a , this . createStyle ( b , c , d ) ) } ; netgis . MapOpenLayers . prototype . setLayerStyleEdit = function ( a ) { a . setStyle ( this . styleEdit . bind ( this ) ) } ; netgis . MapOpenLayers . prototype . setLayerOrder = function ( a , b ) { a . setZIndex ( Number . parseInt ( b ) ) } ;
netgis . MapOpenLayers . prototype . setLayerStyle = function ( a , b ) { a . setStyle ( b ) } ; netgis . MapOpenLayers . prototype . setLayerStyleSimple = function ( a , b , c , d ) { this . setLayerStyle ( a , this . createStyle ( b , c , d ) ) } ; netgis . MapOpenLayers . prototype . setLayerStyleEdit = function ( a ) { a . setStyle ( this . styleEdit . bind ( this ) ) } ; netgis . MapOpenLayers . prototype . setLayerOrder = function ( a , b ) { a . setZIndex ( Number . parseInt ( b ) ) } ;
netgis . MapOpenLayers . prototype . createLayer = function ( a ) { var b = null ; switch ( a . type ) { case netgis . LayerTypes . XYZ : b = this . createLayerXYZ ( a . url ) ; break ; case netgis . LayerTypes . OSM : b = this . createLayerOSM ( ) ; break ; case netgis . LayerTypes . WMS : b = this . createLayerWMS ( a . url , a . name , a . format , a . tiled , a . username , a . password ) ; break ; case netgis . LayerTypes . WFS : b = this . createLayerWFS ( a . url , a . name , this . projection , a . format , a . username , a . password ) , ( a . fill || a . stroke || a . width ) && b . setStyle ( this . createStyle ( a . fill , a . stroke , a . width ) ) } b &&
netgis . MapOpenLayers . prototype . createLayer = function ( a ) { var b = null ; switch ( a . type ) { case netgis . LayerTypes . XYZ : b = this . createLayerXYZ ( a . url ) ; break ; case netgis . LayerTypes . OSM : b = this . createLayerOSM ( ) ; break ; case netgis . LayerTypes . WMS : b = this . createLayerWMS ( a . url , a . name , a . format , a . tiled , a . username , a . password ) ; break ; case netgis . LayerTypes . WFS : b = this . createLayerWFS ( a . url , a . name , this . projection , a . format , a . username , a . password ) , ( a . fill || a . stroke || a . width ) && b . setStyle ( this . createStyle ( a . fill , a . stroke , a . width ) ) } b &&
( a . minZoom && b . setMinZoom ( Number . parseFloat ( a . minZoom ) ) , a . maxZoom && b . setMaxZoom ( Number . parseFloat ( a . maxZoom ) ) , a . order && b . setZIndex ( Number . parseInt ( a . order ) ) ) ; return b } ; netgis . MapOpenLayers . prototype . createLayerXYZ = function ( a ) { return new ol . layer . Tile ( { source : new ol . source . XYZ ( { url : a , crossOrigin : "anonymous" } ) } ) } ; netgis . MapOpenLayers . prototype . createLayerOSM = function ( ) { return new ol . layer . Tile ( { source : new ol . source . OSM } ) } ;
( a . minZoom && b . setMinZoom ( Number . parseFloat ( a . minZoom ) ) , a . maxZoom && b . setMaxZoom ( Number . parseFloat ( a . maxZoom ) ) , a . order && b . setZIndex ( Number . parseInt ( a . order ) ) ) ; return b } ; netgis . MapOpenLayers . prototype . createLayerXYZ = function ( a ) { return new ol . layer . Tile ( { source : new ol . source . XYZ ( { url : a , crossOrigin : "anonymous" } ) } ) } ; netgis . MapOpenLayers . prototype . createLayerOSM = function ( ) { return new ol . layer . Tile ( { source : new ol . source . OSM } ) } ;
@ -117,7 +119,7 @@ d=new ol.layer.Image({source:d}));return d};
netgis . MapOpenLayers . prototype . createLayerWFS = function ( a , b , c , d , e , f ) { a += "service=WFS&version=1.1.0&request=GetFeature" ; c || ( c = this . projection ) ; d = d ? netgis . util . replace ( d , " " , "+" ) : "application/json; subtype=geojson" ; var g = new ol . source . Vector ( { format : new ol . format . GeoJSON , strategy : ol . loadingstrategy . bbox , loader : function ( h , k , n , q , p ) { h = a + "&typename=" + b + "&srsname=" + c + "&bbox=" + h . join ( "," ) + "," + c + "&outputFormat=" + d ; var l = new XMLHttpRequest ; l . open ( "GET" , h ) ; e && f && l . setRequestHeader ( "Authorization" , "Basic " + window . btoa ( e +
netgis . MapOpenLayers . prototype . createLayerWFS = function ( a , b , c , d , e , f ) { a += "service=WFS&version=1.1.0&request=GetFeature" ; c || ( c = this . projection ) ; d = d ? netgis . util . replace ( d , " " , "+" ) : "application/json; subtype=geojson" ; var g = new ol . source . Vector ( { format : new ol . format . GeoJSON , strategy : ol . loadingstrategy . bbox , loader : function ( h , k , n , q , p ) { h = a + "&typename=" + b + "&srsname=" + c + "&bbox=" + h . join ( "," ) + "," + c + "&outputFormat=" + d ; var l = new XMLHttpRequest ; l . open ( "GET" , h ) ; e && f && l . setRequestHeader ( "Authorization" , "Basic " + window . btoa ( e +
":" + f ) ) ; l . onerror = function ( ) { console . error ( "WFS Request Error" ) ; p ( ) } ; l . onload = function ( ) { if ( 200 === l . status ) { var a = g . getFormat ( ) . readFeatures ( l . responseText ) ; g . clear ( ) ; g . addFeatures ( a ) ; q ( a ) } else console . error ( "WFS Request Status" , l . status ) , p ( ) } ; l . send ( ) } } ) , h = new ol . layer . Vector ( { source : g } ) , k = this ; g . on ( "featuresloadstart" , function ( a ) { k . removeSnapLayer ( h ) } ) ; g . on ( "featuresloadend" , function ( a ) { window . setTimeout ( function ( ) { k . addSnapLayer ( h ) } , 10 ) } ) ; return h } ;
":" + f ) ) ; l . onerror = function ( ) { console . error ( "WFS Request Error" ) ; p ( ) } ; l . onload = function ( ) { if ( 200 === l . status ) { var a = g . getFormat ( ) . readFeatures ( l . responseText ) ; g . clear ( ) ; g . addFeatures ( a ) ; q ( a ) } else console . error ( "WFS Request Status" , l . status ) , p ( ) } ; l . send ( ) } } ) , h = new ol . layer . Vector ( { source : g } ) , k = this ; g . on ( "featuresloadstart" , function ( a ) { k . removeSnapLayer ( h ) } ) ; g . on ( "featuresloadend" , function ( a ) { window . setTimeout ( function ( ) { k . addSnapLayer ( h ) } , 10 ) } ) ; return h } ;
netgis . MapOpenLayers . prototype . clearAll = function ( ) { for ( var a = 0 ; a < this . layers . length ; a ++ ) this . map . removeLayer ( this . layers [ a ] ) ; this . layers = [ ] ; this . snapFeatures . clear ( ) } ; netgis . MapOpenLayers . prototype . addFeature = function ( a , b ) { a . getSource ( ) . addFeature ( b ) } ; netgis . MapOpenLayers . prototype . addEditFeature = function ( a ) { this . editLayer . getSource ( ) . addFeature ( a ) } ;
netgis . MapOpenLayers . prototype . clearAll = function ( ) { for ( var a = 0 ; a < this . layers . length ; a ++ ) this . map . removeLayer ( this . layers [ a ] ) ; this . layers = [ ] ; this . snapFeatures . clear ( ) } ; netgis . MapOpenLayers . prototype . addFeature = function ( a , b ) { a . getSource ( ) . addFeature ( b ) } ; netgis . MapOpenLayers . prototype . addEditFeature = function ( a ) { this . editLayer . getSource ( ) . addFeature ( a ) } ;
netgis . MapOpenLayers . prototype . addEditFeaturesGeoJSON = function ( a , b ) { var c = new ol . format . GeoJSON ; c . readProjection ( a ) ; console. info ( "GeoJSON:" , a ) ; a= b ? c . readFeatures ( a , { featureProjection : this . projection } ) : c . readFeatures ( a ) ; this . editLayer . getSource ( ) . addFeatures ( a ) ; this . updateSnapFeatures ( ) } ; netgis . MapOpenLayers . prototype . createFeatureWKT = function ( a , b ) { a = ( new ol . format . WKT ) . readGeometry ( a ) ; b . geometry = a ; return new ol . Feature ( b ) } ; netgis . MapOpenLayers . prototype . createFeatureJSON = function ( a ) { return new ol . Feature ( a ) } ;
netgis . MapOpenLayers . prototype . addEditFeaturesGeoJSON = function ( a , b ) { var c = new ol . format . GeoJSON ; c . readProjection ( a ) ; a= b ? c . readFeatures ( a , { featureProjection : this . projection } ) : c . readFeatures ( a ) ; this . editLayer . getSource ( ) . addFeatures ( a ) ; this . updateSnapFeatures ( ) } ; netgis . MapOpenLayers . prototype . createFeatureWKT = function ( a , b ) { a = ( new ol . format . WKT ) . readGeometry ( a ) ; b . geometry = a ; return new ol . Feature ( b ) } ; netgis . MapOpenLayers . prototype . createFeatureJSON = function ( a ) { return new ol . Feature ( a ) } ;
netgis . MapOpenLayers . prototype . onUpdateStyle = function ( a ) { a = new ol . style . Style ( { fill : new ol . style . Fill ( { color : a . polygon . fill } ) , stroke : new ol . style . Stroke ( { color : a . polygon . stroke , width : a . polygon . strokeWidth } ) } ) ; this . editLayer . setStyle ( a ) } ;
netgis . MapOpenLayers . prototype . onUpdateStyle = function ( a ) { a = new ol . style . Style ( { fill : new ol . style . Fill ( { color : a . polygon . fill } ) , stroke : new ol . style . Stroke ( { color : a . polygon . stroke , width : a . polygon . strokeWidth } ) } ) ; this . editLayer . setStyle ( a ) } ;
netgis . MapOpenLayers . prototype . styleEdit = function ( a ) { var b = a . getGeometry ( ) , c = this . hoverFeature === a , d = c ? this . config . styles . select . fill : this . config . styles . editLayer . fill ; a = c ? this . config . styles . select . stroke : this . config . styles . editLayer . stroke ; d = new ol . style . Style ( { image : new ol . style . Circle ( { radius : c ? this . config . styles . select . pointRadius : this . config . styles . editLayer . pointRadius , fill : new ol . style . Fill ( { color : a } ) } ) , fill : new ol . style . Fill ( { color : d } ) , stroke : new ol . style . Stroke ( { color : a , width : this . config . styles . editLayer . strokeWidth } ) } ) ;
netgis . MapOpenLayers . prototype . styleEdit = function ( a ) { var b = a . getGeometry ( ) , c = this . hoverFeature === a , d = c ? this . config . styles . select . fill : this . config . styles . editLayer . fill ; a = c ? this . config . styles . select . stroke : this . config . styles . editLayer . stroke ; d = new ol . style . Style ( { image : new ol . style . Circle ( { radius : c ? this . config . styles . select . pointRadius : this . config . styles . editLayer . pointRadius , fill : new ol . style . Fill ( { color : a } ) } ) , fill : new ol . style . Fill ( { color : d } ) , stroke : new ol . style . Stroke ( { color : a , width : this . config . styles . editLayer . strokeWidth } ) } ) ;
c && d . setZIndex ( 1 ) ; b instanceof ol . geom . Polygon && ( b = b . getArea ( ) , d . setText ( new ol . style . Text ( { text : [ netgis . util . formatArea ( b , ! 0 ) , "4mm sans-serif" ] , font : this . labelFont , fill : new ol . style . Fill ( { color : a } ) , backgroundFill : new ol . style . Fill ( { color : "rgba( 255, 255, 255, 0.5 )" } ) , padding : [ 2 , 4 , 2 , 4 ] } ) ) ) ; return d } ;
c && d . setZIndex ( 1 ) ; b instanceof ol . geom . Polygon && ( b = b . getArea ( ) , d . setText ( new ol . style . Text ( { text : [ netgis . util . formatArea ( b , ! 0 ) , "4mm sans-serif" ] , font : this . labelFont , fill : new ol . style . Fill ( { color : a } ) , backgroundFill : new ol . style . Fill ( { color : "rgba( 255, 255, 255, 0.5 )" } ) , padding : [ 2 , 4 , 2 , 4 ] } ) ) ) ; return d } ;