@giscience/ol-print-layout-control v1.0.2
ol-print-layout-control
Add this OpenLayers-Control to your OpenLayers-Map.
It Helps the user to define a map area that fits to the desired output page format and orientation.
Works with ol@^7.0.0.
https://user-images.githubusercontent.com/2814068/195790425-99978d1a-6619-47a9-93b5-8c642664af5e.mp4
Usage
Browser
Load ol-print-layout-control.js after OpenLayers.
It will be available as new ol.control.PrintLayout()
<script src="https://unpkg.com/@giscience/ol-print-layout-control"></script>
<link rel="stylesheet" href="https://unpkg.com/@giscience/ol-print-layout-control/dist/ol-print-layout-control.css" />
<script>
const map = new ol.Map({
target: 'map',
view: new ol.View({
center: ol.proj.fromLonLat([8.68, 49.41]),
zoom: 15
}),
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
]
});
const printLayoutControl = new ol.control.PrintLayout({
format: PAPER_FORMAT.A3,
orientation: ORIENTATION.LANDSCAPE,
margin: {top: 2, bottom: 2, left: 2, right: 2}
});
map.addControl(printLayoutControl);
</script>Typescript and bundlers
Install the npm package: @giscience/ol-print-layout-control
After import from the module it will be available as new PrintLayout().
npm install @giscience/ol-print-layout-controlDocs
Table of Contents
PrintLayout
Extends Control
The print-layout-control. Add an instance of this to your OpenLayers Map.
Parameters
opt_optionsOptions (optional, default{})Options{format: 'A4', orientation: 'portrait', margin: {top: 2, bottom: 2, left: 2, right: 2}}] opt_options
getOrientation
setOrientation
Parameters
orientationORIENTATION
getFormat
setFormat
Parameters
formatany
getMargin
Returns Margin
setMargin
Parameters
marginMargin
getBbox
getBboxAsLonLat
getScaleDenominator
Computes the scale denominator for the printed map
getPrintBoxSizeInDots
Get the print box size (width, height) in dots (px) for printing.
This is useful to determine the OGC-WMS params 'WIDTH' and 'HEIGHT'
Parameters
dpi{number} the desired print resolution in dots-per-inch (dpi) (optional, default192)
Returns {width: number, height: number}
getPrintBoxSizeInMM
MarginProps
Type: {top: number, bottom: number, left: number, right: number}
Properties
Margin
Extends OlObject
The Margin Class to set paper margins in cm.
Parameters
marginPropsPartial<MarginProps> (optional, default{})
getProperties
Returns MarginProps
getTop
setTop
Parameters
topMarginInCmnumber
getBottom
setBottom
Parameters
bottomMarginInCmnumber
getLeft
setLeft
Parameters
leftMarginInCmnumber
getRight
setRight
Parameters
rightMarginInCmnumber
Related
Originally ol-print-layout-control has been developed for the
SketchMapTool.