"Full Features" Integration
These buttons partly simulate the click handlers of your framework (e.g. React, Angular)
- Found 1More info about 1
- Found 2More info about 2
- Found 3More info about 3
- Found 4More info about 4
- Found 5More info about 5
- Found 6More info about 6 More info about 6 More info about 6 More info about 6 More info about 6
- Found 7More info about 7 More info about 7 More info about 7 More info about 7 More info about 7
- Found 8More info about 8 More info about 8 More info about 8 More info about 8 More info about 8
- Found 9More info about 9 More info about 9 More info about 9 More info about 9 More info about 9
- Found 10More info about 10 More info about 10 More info about 10 More info about 10 More info about 10
Das Beispiel zeigt den kompletten Rahmen, den bgis bietet. Die Core-Features wurden ergänzt durch einen Header für z.B. Anwendungsnamen, Links und Logo. Im linken Bereich sieht man außerdem Vorlagen für erweiterte Karteninteraktionen, wie z.B Suche, Suchergebnisliste und Detailansichten. Diese Vorlagen sind zwar mit HTML und CSS durch bgis umgesetzt, sie dienen jedoch nur als Ausgangspunkt einer möglichen Javascript-Integration durch ein externes Framework wie React, Angular oder Vue.js. Die Buttons im oberen Bereich und das Einbinden der UiInteraction-Klasse simulieren (unvollständig) mögliche Clickhandler eines externen Frameworks.
Typescript
import TileLayer from "ol/layer/Tile";
import View from "ol/View";
import Map from "ol/Map";
import {
Attribution,
BasemapSource,
BottomRight,
Footer,
GeoLocate,
Layer,
MousePosition,
Overview,
Print,
ScaleLine,
Share,
Tools,
TopRight,
UiInteraction,
ViewList,
Zoom
} from "../../../src";
import '../../../src/indexClient.scss';
import {getCenter} from "ol/extent";
import {defaults as defaultInteractions} from "ol/interaction";
new Map({
target: 'bgis-map',
layers: [new TileLayer({
source: new BasemapSource()
})],
controls: [
new Footer([
new ScaleLine(),
new MousePosition(),
new Attribution(),
]),
new BottomRight({horizontalControls:
[new Layer(),
new ViewList()],
verticalControls: [new Print(),
new Share(), new Tools()]
}),
new TopRight([
new GeoLocate(),
new Zoom(),
]),
new Overview()
],
interactions: defaultInteractions().extend([ new UiInteraction()]),
view: new View({
center: getCenter([1060000, 5838030, 1913530, 6281290]),
constrainOnlyCenter: true,
constrainResolution: false, // discrete zooomlevels
extent: [1060000, 5838030, 1913530, 6281290],
maxZoom: 15,
minZoom: 6,
zoom: 7,
})
});
HTML