@open-pioneer/map 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @open-pioneer/map
2
2
 
3
+ ## 0.5.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 520a97b: Add `ZoomOptions` prop in map package
8
+
3
9
  ## 0.4.0
4
10
 
5
11
  ### Minor Changes
package/api/MapModel.d.ts CHANGED
@@ -14,15 +14,15 @@ export interface MapModelEvents {
14
14
  "changed:initialExtent": void;
15
15
  "destroy": void;
16
16
  }
17
- /** Options supported when creating a new {@link Highlight}. */
17
+ /** Styleoptions supported when creating a new {@link Highlight}. */
18
18
  export interface HighlightOptions {
19
19
  /**
20
20
  * Optional styles to override the default styles.
21
21
  */
22
22
  highlightStyle?: HighlightStyle;
23
23
  }
24
- /** Options supported by the map model's {@link MapModel.highlightAndZoom | highlightAndZoom} method. */
25
- export interface HighlightZoomOptions extends HighlightOptions {
24
+ /** Zoomoptions supported when creating a new {@link Highlight}. */
25
+ export interface ZoomOptions {
26
26
  /**
27
27
  * The zoom-level used if there is no valid extend (such as for single points).
28
28
  */
@@ -36,6 +36,9 @@ export interface HighlightZoomOptions extends HighlightOptions {
36
36
  */
37
37
  viewPadding?: MapPadding;
38
38
  }
39
+ /** Options supported by the map model's {@link MapModel.highlightAndZoom | zoom | highlightAndZoom} method. */
40
+ export interface HighlightZoomOptions extends HighlightOptions, ZoomOptions {
41
+ }
39
42
  /**
40
43
  * Custom styles when creating a new {@link Highlight}.
41
44
  */
@@ -120,9 +123,9 @@ export interface MapModel extends EventSource<MapModelEvents> {
120
123
  */
121
124
  highlight(geometries: DisplayTarget[], options?: HighlightOptions): Highlight;
122
125
  /**
123
- * Zooms to to the given targets.
126
+ * Zooms to the given targets.
124
127
  */
125
- zoom(geometries: DisplayTarget[], options?: HighlightZoomOptions): void;
128
+ zoom(geometries: DisplayTarget[], options?: ZoomOptions): void;
126
129
  /**
127
130
  * Creates a highlight and zooms to the given targets.
128
131
  *
@@ -3,7 +3,7 @@ import OlMap from "ol/Map";
3
3
  import { Geometry } from "ol/geom";
4
4
  import VectorLayer from "ol/layer/Vector";
5
5
  import VectorSource from "ol/source/Vector";
6
- import { DisplayTarget, Highlight, HighlightOptions, HighlightZoomOptions } from "../api/MapModel";
6
+ import { DisplayTarget, Highlight, HighlightOptions, HighlightZoomOptions, ZoomOptions } from "../api/MapModel";
7
7
  export declare class Highlights {
8
8
  #private;
9
9
  private olMap;
@@ -27,7 +27,7 @@ export declare class Highlights {
27
27
  /**
28
28
  * This method zoom to geometries or BaseFeatures
29
29
  */
30
- zoomToHighlight(displayTarget: DisplayTarget[], options: HighlightZoomOptions | undefined): void;
30
+ zoomToHighlight(displayTarget: DisplayTarget[], options: ZoomOptions | undefined): void;
31
31
  /**
32
32
  * This method displays geometries or BaseFeatures with optional styling in the map and executed a zoom
33
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Highlights.js","sources":["Highlights.ts"],"sourcesContent":["// SPDX-FileCopyrightText: 2023 Open Pioneer project (https://github.com/open-pioneer)\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Feature } from \"ol\";\nimport OlMap from \"ol/Map\";\nimport { Coordinate } from \"ol/coordinate\";\nimport { Extent, createEmpty, extend, getArea, getCenter } from \"ol/extent\";\nimport { Geometry } from \"ol/geom\";\nimport VectorLayer from \"ol/layer/Vector\";\nimport VectorSource from \"ol/source/Vector\";\nimport { Fill, Icon, Stroke, Style } from \"ol/style\";\nimport { toFunction as toStyleFunction } from \"ol/style/Style\";\nimport {\n DisplayTarget,\n Highlight,\n HighlightOptions,\n HighlightStyle,\n HighlightZoomOptions\n} from \"../api/MapModel\";\nimport mapMarkerUrl from \"../assets/images/mapMarker.png?url\";\nimport { FeatureLike } from \"ol/Feature\";\nimport { TOPMOST_LAYER_Z } from \"../api\";\nimport { Type } from \"ol/geom/Geometry\";\n\ntype HighlightStyleType = keyof HighlightStyle;\n\nconst DEFAULT_OL_POINT_ZOOM_LEVEL = 17;\nconst DEFAULT_OL_MAX_ZOOM_LEVEL = 20;\nconst DEFAULT_VIEW_PADDING = { top: 50, right: 20, bottom: 10, left: 20 };\n\nexport class Highlights {\n private olMap: OlMap;\n\n private olLayer: VectorLayer<VectorSource>;\n private olSource: VectorSource<Feature<Geometry>>;\n private activeHighlights: Set<Highlight>;\n\n constructor(olMap: OlMap) {\n this.olMap = olMap;\n this.olSource = new VectorSource({\n features: undefined\n });\n this.olLayer = new VectorLayer({\n className: \"highlight-layer\",\n source: this.olSource,\n style: function (feature, resolution) {\n return resolveStyle(feature, resolution);\n }\n });\n this.activeHighlights = new Set();\n this.olLayer.setZIndex(TOPMOST_LAYER_Z);\n this.olMap.addLayer(this.olLayer);\n }\n\n /**\n * Getter for Hightlightlayer\n * @returns Highlights.olLayer\n */\n getLayer() {\n return this.olLayer;\n }\n\n /**\n * This method removes all highlights before destroying the class\n */\n destroy() {\n this.clearHighlight();\n }\n\n /**\n * Method of filtering out objects that are not geometry or have no property geometry.\n */\n #filterGeoobjects(geoObjects: DisplayTarget[]): Geometry[] {\n const geometries: Geometry[] = [];\n geoObjects.forEach((item) => {\n if (\"getType\" in item) geometries.push(item);\n if (\"geometry\" in item && item.geometry) geometries.push(item.geometry);\n });\n return geometries;\n }\n\n /**\n * This method displays geometries or BaseFeatures with optional styling in the map\n */\n addHighlight(displayTarget: DisplayTarget[], highlightOptions: HighlightOptions | undefined) {\n const geometries = this.#filterGeoobjects(displayTarget);\n\n if (geometries.length === 0) {\n return {\n get isActive() {\n return false;\n },\n destroy() {}\n };\n }\n\n const features = geometries.map((geometry) => {\n const type = geometry.getType();\n const feature = new Feature({\n type: type,\n geometry: geometry\n });\n feature.setStyle(getOwnStyle(type, highlightOptions?.highlightStyle));\n return feature;\n });\n\n const source = this.olSource;\n const highlights = this.activeHighlights;\n const highlight: Highlight = {\n get isActive() {\n return highlights.has(highlight);\n },\n destroy() {\n if (!this.isActive) {\n return;\n }\n\n for (const feature of features) {\n source.removeFeature(feature);\n }\n highlights.delete(highlight);\n }\n };\n\n source.addFeatures(features);\n this.activeHighlights.add(highlight);\n return highlight;\n }\n\n /**\n * This method zoom to geometries or BaseFeatures\n */\n zoomToHighlight(displayTarget: DisplayTarget[], options: HighlightZoomOptions | undefined) {\n const geometries = this.#filterGeoobjects(displayTarget);\n\n if (geometries.length === 0) {\n return;\n }\n\n let extent = createEmpty();\n for (const geometry of geometries) {\n extent = extend(extent, geometry!.getExtent());\n }\n\n const center = getCenter(extent);\n const isPoint = getArea(extent) === 0;\n const zoomScale = isPoint\n ? options?.pointZoom ?? DEFAULT_OL_POINT_ZOOM_LEVEL\n : options?.maxZoom ?? DEFAULT_OL_MAX_ZOOM_LEVEL;\n setCenter(this.olMap, center);\n\n const {\n top = 0,\n right = 0,\n bottom = 0,\n left = 0\n } = options?.viewPadding ?? DEFAULT_VIEW_PADDING;\n const padding = [top, right, bottom, left];\n zoomTo(this.olMap, extent, zoomScale, padding);\n }\n\n /**\n * This method displays geometries or BaseFeatures with optional styling in the map and executed a zoom\n */\n addHighlightAndZoom(\n displayTarget: DisplayTarget[],\n highlightZoomStyle: HighlightZoomOptions | undefined\n ) {\n const result = this.addHighlight(displayTarget, highlightZoomStyle);\n this.zoomToHighlight(displayTarget, highlightZoomStyle);\n return result;\n }\n\n clearHighlight() {\n for (const highlight of this.activeHighlights) {\n highlight.destroy();\n }\n }\n}\n\nfunction setCenter(olMap: OlMap, coordinates: Coordinate | undefined) {\n coordinates && coordinates.length && olMap.getView().setCenter(coordinates);\n}\n\nfunction zoomTo(\n olMap: OlMap,\n extent: Extent | undefined,\n zoomLevel: number | undefined,\n padding: number[]\n) {\n if (extent) {\n olMap.getView().fit(extent, { maxZoom: zoomLevel, padding: padding });\n } else {\n zoomLevel && olMap.getView().setZoom(zoomLevel);\n }\n}\n\n/**\n * Returns the appropriate style from the user's highlightStyle or falls back to the default style\n */\nfunction resolveStyle(feature: FeatureLike, resolution: number) {\n const type: keyof typeof defaultHighlightStyle = feature.get(\"type\");\n const style = toStyleFunction(getDefaultStyle(type));\n return style(feature, resolution);\n}\n\n/**\n * This method creates styling for a highlight based on the optional style information or the default style\n */\nfunction getOwnStyle(type: Type, highlightStyle: HighlightStyle | undefined) {\n if (highlightStyle && type in highlightStyle) {\n const supportedType = type as HighlightStyleType;\n const ownStyle = highlightStyle[supportedType];\n return ownStyle ? ownStyle : getDefaultStyle(type);\n } else {\n return getDefaultStyle(type);\n }\n}\n\n/**\n * This returns default styling for a highlight\n */\nfunction getDefaultStyle(type: Type) {\n if (type in defaultHighlightStyle) {\n const supportedType = type as HighlightStyleType;\n return defaultHighlightStyle[supportedType];\n } else {\n return defaultHighlightStyle.Polygon;\n }\n}\n\n/**\n * Default styling for highlights\n */\nconst defaultHighlightStyle = {\n \"Point\": new Style({\n image: new Icon({\n anchor: [0.5, 1],\n src: mapMarkerUrl\n })\n }),\n \"MultiPoint\": new Style({\n image: new Icon({\n anchor: [0.5, 1],\n src: mapMarkerUrl\n })\n }),\n \"LineString\": [\n new Style({\n stroke: new Stroke({\n color: \"#fff\",\n width: 5\n })\n }),\n new Style({\n stroke: new Stroke({\n color: \"#00ffff\",\n width: 3\n })\n })\n ],\n \"MultiLineString\": [\n new Style({\n stroke: new Stroke({\n color: \"#fff\",\n width: 5\n })\n }),\n new Style({\n stroke: new Stroke({\n color: \"#00ffff\",\n width: 3\n })\n })\n ],\n \"Polygon\": [\n new Style({\n stroke: new Stroke({\n color: \"#fff\",\n width: 5\n })\n }),\n new Style({\n stroke: new Stroke({\n color: \"#00ffff\",\n width: 3\n }),\n fill: new Fill({\n color: \"rgba(224,255,255,0.35)\"\n })\n })\n ],\n \"MultiPolygon\": [\n new Style({\n stroke: new Stroke({\n color: \"#fff\",\n width: 5\n })\n }),\n new Style({\n stroke: new Stroke({\n color: \"#00ffff\",\n width: 3\n }),\n fill: new Fill({\n color: \"rgba(224,255,255,0.35)\"\n })\n })\n ]\n};\n"],"names":["toStyleFunction"],"mappings":"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"}
1
+ {"version":3,"file":"Highlights.js","sources":["Highlights.ts"],"sourcesContent":["// SPDX-FileCopyrightText: 2023 Open Pioneer project (https://github.com/open-pioneer)\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Feature } from \"ol\";\nimport OlMap from \"ol/Map\";\nimport { Coordinate } from \"ol/coordinate\";\nimport { Extent, createEmpty, extend, getArea, getCenter } from \"ol/extent\";\nimport { Geometry } from \"ol/geom\";\nimport VectorLayer from \"ol/layer/Vector\";\nimport VectorSource from \"ol/source/Vector\";\nimport { Fill, Icon, Stroke, Style } from \"ol/style\";\nimport { toFunction as toStyleFunction } from \"ol/style/Style\";\nimport {\n DisplayTarget,\n Highlight,\n HighlightOptions,\n HighlightStyle,\n HighlightZoomOptions,\n ZoomOptions\n} from \"../api/MapModel\";\nimport mapMarkerUrl from \"../assets/images/mapMarker.png?url\";\nimport { FeatureLike } from \"ol/Feature\";\nimport { TOPMOST_LAYER_Z } from \"../api\";\nimport { Type } from \"ol/geom/Geometry\";\n\ntype HighlightStyleType = keyof HighlightStyle;\n\nconst DEFAULT_OL_POINT_ZOOM_LEVEL = 17;\nconst DEFAULT_OL_MAX_ZOOM_LEVEL = 20;\nconst DEFAULT_VIEW_PADDING = { top: 50, right: 20, bottom: 10, left: 20 };\n\nexport class Highlights {\n private olMap: OlMap;\n\n private olLayer: VectorLayer<VectorSource>;\n private olSource: VectorSource<Feature<Geometry>>;\n private activeHighlights: Set<Highlight>;\n\n constructor(olMap: OlMap) {\n this.olMap = olMap;\n this.olSource = new VectorSource({\n features: undefined\n });\n this.olLayer = new VectorLayer({\n className: \"highlight-layer\",\n source: this.olSource,\n style: function (feature, resolution) {\n return resolveStyle(feature, resolution);\n }\n });\n this.activeHighlights = new Set();\n this.olLayer.setZIndex(TOPMOST_LAYER_Z);\n this.olMap.addLayer(this.olLayer);\n }\n\n /**\n * Getter for Hightlightlayer\n * @returns Highlights.olLayer\n */\n getLayer() {\n return this.olLayer;\n }\n\n /**\n * This method removes all highlights before destroying the class\n */\n destroy() {\n this.clearHighlight();\n }\n\n /**\n * Method of filtering out objects that are not geometry or have no property geometry.\n */\n #filterGeoobjects(geoObjects: DisplayTarget[]): Geometry[] {\n const geometries: Geometry[] = [];\n geoObjects.forEach((item) => {\n if (\"getType\" in item) geometries.push(item);\n if (\"geometry\" in item && item.geometry) geometries.push(item.geometry);\n });\n return geometries;\n }\n\n /**\n * This method displays geometries or BaseFeatures with optional styling in the map\n */\n addHighlight(displayTarget: DisplayTarget[], highlightOptions: HighlightOptions | undefined) {\n const geometries = this.#filterGeoobjects(displayTarget);\n\n if (geometries.length === 0) {\n return {\n get isActive() {\n return false;\n },\n destroy() {}\n };\n }\n\n const features = geometries.map((geometry) => {\n const type = geometry.getType();\n const feature = new Feature({\n type: type,\n geometry: geometry\n });\n feature.setStyle(getOwnStyle(type, highlightOptions?.highlightStyle));\n return feature;\n });\n\n const source = this.olSource;\n const highlights = this.activeHighlights;\n const highlight: Highlight = {\n get isActive() {\n return highlights.has(highlight);\n },\n destroy() {\n if (!this.isActive) {\n return;\n }\n\n for (const feature of features) {\n source.removeFeature(feature);\n }\n highlights.delete(highlight);\n }\n };\n\n source.addFeatures(features);\n this.activeHighlights.add(highlight);\n return highlight;\n }\n\n /**\n * This method zoom to geometries or BaseFeatures\n */\n zoomToHighlight(displayTarget: DisplayTarget[], options: ZoomOptions | undefined) {\n const geometries = this.#filterGeoobjects(displayTarget);\n\n if (geometries.length === 0) {\n return;\n }\n\n let extent = createEmpty();\n for (const geometry of geometries) {\n extent = extend(extent, geometry!.getExtent());\n }\n\n const center = getCenter(extent);\n const isPoint = getArea(extent) === 0;\n const zoomScale = isPoint\n ? options?.pointZoom ?? DEFAULT_OL_POINT_ZOOM_LEVEL\n : options?.maxZoom ?? DEFAULT_OL_MAX_ZOOM_LEVEL;\n setCenter(this.olMap, center);\n\n const {\n top = 0,\n right = 0,\n bottom = 0,\n left = 0\n } = options?.viewPadding ?? DEFAULT_VIEW_PADDING;\n const padding = [top, right, bottom, left];\n zoomTo(this.olMap, extent, zoomScale, padding);\n }\n\n /**\n * This method displays geometries or BaseFeatures with optional styling in the map and executed a zoom\n */\n addHighlightAndZoom(\n displayTarget: DisplayTarget[],\n highlightZoomStyle: HighlightZoomOptions | undefined\n ) {\n const result = this.addHighlight(displayTarget, highlightZoomStyle);\n this.zoomToHighlight(displayTarget, highlightZoomStyle);\n return result;\n }\n\n clearHighlight() {\n for (const highlight of this.activeHighlights) {\n highlight.destroy();\n }\n }\n}\n\nfunction setCenter(olMap: OlMap, coordinates: Coordinate | undefined) {\n coordinates && coordinates.length && olMap.getView().setCenter(coordinates);\n}\n\nfunction zoomTo(\n olMap: OlMap,\n extent: Extent | undefined,\n zoomLevel: number | undefined,\n padding: number[]\n) {\n if (extent) {\n olMap.getView().fit(extent, { maxZoom: zoomLevel, padding: padding });\n } else {\n zoomLevel && olMap.getView().setZoom(zoomLevel);\n }\n}\n\n/**\n * Returns the appropriate style from the user's highlightStyle or falls back to the default style\n */\nfunction resolveStyle(feature: FeatureLike, resolution: number) {\n const type: keyof typeof defaultHighlightStyle = feature.get(\"type\");\n const style = toStyleFunction(getDefaultStyle(type));\n return style(feature, resolution);\n}\n\n/**\n * This method creates styling for a highlight based on the optional style information or the default style\n */\nfunction getOwnStyle(type: Type, highlightStyle: HighlightStyle | undefined) {\n if (highlightStyle && type in highlightStyle) {\n const supportedType = type as HighlightStyleType;\n const ownStyle = highlightStyle[supportedType];\n return ownStyle ? ownStyle : getDefaultStyle(type);\n } else {\n return getDefaultStyle(type);\n }\n}\n\n/**\n * This returns default styling for a highlight\n */\nfunction getDefaultStyle(type: Type) {\n if (type in defaultHighlightStyle) {\n const supportedType = type as HighlightStyleType;\n return defaultHighlightStyle[supportedType];\n } else {\n return defaultHighlightStyle.Polygon;\n }\n}\n\n/**\n * Default styling for highlights\n */\nconst defaultHighlightStyle = {\n \"Point\": new Style({\n image: new Icon({\n anchor: [0.5, 1],\n src: mapMarkerUrl\n })\n }),\n \"MultiPoint\": new Style({\n image: new Icon({\n anchor: [0.5, 1],\n src: mapMarkerUrl\n })\n }),\n \"LineString\": [\n new Style({\n stroke: new Stroke({\n color: \"#fff\",\n width: 5\n })\n }),\n new Style({\n stroke: new Stroke({\n color: \"#00ffff\",\n width: 3\n })\n })\n ],\n \"MultiLineString\": [\n new Style({\n stroke: new Stroke({\n color: \"#fff\",\n width: 5\n })\n }),\n new Style({\n stroke: new Stroke({\n color: \"#00ffff\",\n width: 3\n })\n })\n ],\n \"Polygon\": [\n new Style({\n stroke: new Stroke({\n color: \"#fff\",\n width: 5\n })\n }),\n new Style({\n stroke: new Stroke({\n color: \"#00ffff\",\n width: 3\n }),\n fill: new Fill({\n color: \"rgba(224,255,255,0.35)\"\n })\n })\n ],\n \"MultiPolygon\": [\n new Style({\n stroke: new Stroke({\n color: \"#fff\",\n width: 5\n })\n }),\n new Style({\n stroke: new Stroke({\n color: \"#00ffff\",\n width: 3\n }),\n fill: new Fill({\n color: \"rgba(224,255,255,0.35)\"\n })\n })\n ]\n};\n"],"names":["toStyleFunction"],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@open-pioneer/map",
4
- "version": "0.4.0",
4
+ "version": "0.5.0",
5
5
  "description": "This package integrates OpenLayers maps into an open pioneer trails application.",
6
6
  "keywords": [
7
7
  "open-pioneer-trails"