diff --git a/docs/config.md b/docs/config.md index 872e4ff..a3bc757 100644 --- a/docs/config.md +++ b/docs/config.md @@ -53,10 +53,12 @@ window.owntracks.config = {}; - [`heatmap`](#maplayersheatmap) - [`last`](#maplayerslast) - [`line`](#maplayersline) + - [`poi`](#maplayerspoi) - [`points`](#maplayerspoints) - [`maxNativeZoom`](#mapmaxnativezoom) - [`maxPointDistance`](#mapmaxpointdistance) - [`maxZoom`](#mapmaxzoom) + - [`poiMarker`](#mappoimarker) - [`polyline`](#mappolyline) - [`url`](#mapurl) - `onLocationChange` @@ -337,9 +339,16 @@ Initial visibility of the line layer. - Type: [`Boolean`] - Default: `true` +### `map.layers.poi` + +Initial visibility of the POI layer. + +- Type: [`Boolean`] +- Default: `true` + ### `map.layers.points` -Initial visibility of the points layer. +Initial visibility of the location points layer. - Type: [`Boolean`] - Default: `false` @@ -380,9 +389,25 @@ to disable. - Type: [`Number`] - Default: `21` +### `map.poiMarker` + +POI marker configuration. See [Vue2Leaflet `l-circle-marker` documentation](https://korigan.github.io/Vue2Leaflet/#/components/l-circle-marker/) +for all possible values. + +- Type: [`Object`] +- Default: + ```js + { + color: "red", + fillColor: "red", + fillOpacity: 0.2, + radius: 12 + } + ``` + ### `map.polyline` -Location point marker configuation. `color` defaults to `primaryColor` if `null`. See +Location point marker configuration. `color` defaults to `primaryColor` if `null`. See [Vue2Leaflet `l-polyline` documentation](https://korigan.github.io/Vue2Leaflet/#/components/l-polyline/) for all possible values. diff --git a/src/components/AppHeader.vue b/src/components/AppHeader.vue index 8d4114f..64c3c04 100644 --- a/src/components/AppHeader.vue +++ b/src/components/AppHeader.vue @@ -189,6 +189,7 @@ export default { { layer: "line", label: this.$t("Show location history (line)") }, { layer: "points", label: this.$t("Show location history (points)") }, { layer: "heatmap", label: this.$t("Show location heatmap") }, + { layer: "poi", label: this.$t("Show points of interest") }, ], showMobileNav: false, shortcuts: [ diff --git a/src/config.js b/src/config.js index 74684ee..38c0e73 100644 --- a/src/config.js +++ b/src/config.js @@ -55,11 +55,18 @@ const DEFAULT_CONFIG = { heatmap: false, last: true, line: true, + poi: true, points: false, }, maxNativeZoom: 19, maxPointDistance: null, maxZoom: 21, + poiMarker: { + color: "red", + fillColor: "red", + fillOpacity: 0.2, + radius: 12, + }, polyline: { color: null, fillColor: "transparent", diff --git a/src/index.d.ts b/src/index.d.ts index 5c5eea8..9da5a06 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -46,11 +46,18 @@ interface Config { heatmap: boolean; last: boolean; line: boolean; + poi: boolean; points: boolean; }; maxNativeZoom: number; maxPointDistance: number | null; maxZoom: number; + poiMarker: { + color: OptionalColor; + fillColor: OptionalColor; + fillOpacity: number; + radius: number; + }; polyline: { color: OptionalColor; fillColor: OptionalColor; @@ -96,6 +103,7 @@ interface State { heatmap: boolean; last: boolean; line: boolean; + poi: boolean; points: boolean; }; zoom: number; @@ -173,6 +181,8 @@ interface OTLocation { lon: number; /** Friendly device name */ name?: string; + /** Point of interest name */ + poi?: string; /** * Trigger for the location report * diff --git a/src/locales/en-GB.json b/src/locales/en-GB.json index b0973a1..6b43cb3 100644 --- a/src/locales/en-GB.json +++ b/src/locales/en-GB.json @@ -17,6 +17,7 @@ "Show location history (line)": "Show location history (line)", "Show location history (points)": "Show location history (points)", "Show location heatmap": "Show location heatmap", + "Show points of interest": "Show points of interest", "Minify JSON": "Minify JSON", "Copy to clipboard": "Copy to clipboard", "Loading version...": "Loading version...", diff --git a/src/locales/en-US.json b/src/locales/en-US.json index 294ea99..1ec136c 100644 --- a/src/locales/en-US.json +++ b/src/locales/en-US.json @@ -17,6 +17,7 @@ "Show location history (line)": "Show location history (line)", "Show location history (points)": "Show location history (points)", "Show location heatmap": "Show location heatmap", + "Show points of interest": "Show points of interest", "Minify JSON": "Minify JSON", "Copy to clipboard": "Copy to clipboard", "Loading version...": "Loading version...", diff --git a/src/views/Map.vue b/src/views/Map.vue index f4c15f4..63d60eb 100644 --- a/src/views/Map.vue +++ b/src/views/Map.vue @@ -25,6 +25,62 @@ :options="{ maxNativeZoom, maxZoom, zoomOffset }" /> + + + + - - - -