@fieldia/map 0.17.0 → 0.18.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/README.md +22 -10
- package/package.json +4 -4
- package/src/lib/card.d.mts +2 -1
- package/src/lib/card.d.ts +2 -1
- package/src/lib/card.js +5 -3
- package/src/lib/card.js.map +1 -1
- package/src/lib/card.mjs +5 -3
- package/src/lib/card.mjs.map +1 -1
- package/src/lib/cluster.d.mts +6 -1
- package/src/lib/cluster.d.ts +6 -1
- package/src/lib/cluster.js +11 -5
- package/src/lib/cluster.js.map +1 -1
- package/src/lib/cluster.mjs +11 -5
- package/src/lib/cluster.mjs.map +1 -1
- package/src/lib/form-map.d.mts +2 -1
- package/src/lib/form-map.d.ts +2 -1
- package/src/lib/form-map.js +159 -20
- package/src/lib/form-map.js.map +1 -1
- package/src/lib/form-map.mjs +161 -22
- package/src/lib/form-map.mjs.map +1 -1
- package/src/lib/labels.d.mts +3 -0
- package/src/lib/labels.d.ts +3 -0
- package/src/lib/labels.js +8 -4
- package/src/lib/labels.js.map +1 -1
- package/src/lib/labels.mjs +8 -4
- package/src/lib/labels.mjs.map +1 -1
- package/src/lib/leaflet.js +1 -0
- package/src/lib/leaflet.js.map +1 -1
- package/src/lib/leaflet.mjs +1 -0
- package/src/lib/leaflet.mjs.map +1 -1
- package/src/lib/list-view.js +6 -13
- package/src/lib/list-view.js.map +1 -1
- package/src/lib/list-view.mjs +6 -13
- package/src/lib/list-view.mjs.map +1 -1
- package/src/lib/map-core.d.mts +2 -2
- package/src/lib/map-core.d.ts +2 -2
- package/src/lib/map-core.js +8 -5
- package/src/lib/map-core.js.map +1 -1
- package/src/lib/map-core.mjs +8 -5
- package/src/lib/map-core.mjs.map +1 -1
- package/src/lib/marks.d.mts +11 -0
- package/src/lib/marks.d.ts +11 -0
- package/src/lib/marks.js +26 -1
- package/src/lib/marks.js.map +1 -1
- package/src/lib/marks.mjs +23 -0
- package/src/lib/marks.mjs.map +1 -1
- package/src/lib/providers.d.mts +21 -5
- package/src/lib/providers.d.ts +21 -5
- package/src/lib/providers.js +30 -18
- package/src/lib/providers.js.map +1 -1
- package/src/lib/providers.mjs +30 -18
- package/src/lib/providers.mjs.map +1 -1
- package/src/lib/styles.d.mts +2 -2
- package/src/lib/styles.d.ts +2 -2
- package/src/lib/styles.js +8 -1
- package/src/lib/styles.js.map +1 -1
- package/src/lib/styles.mjs +8 -1
- package/src/lib/styles.mjs.map +1 -1
- package/src/lib/tools.d.mts +6 -3
- package/src/lib/tools.d.ts +6 -3
- package/src/lib/tools.js +52 -1
- package/src/lib/tools.js.map +1 -1
- package/src/lib/tools.mjs +52 -1
- package/src/lib/tools.mjs.map +1 -1
package/README.md
CHANGED
|
@@ -136,6 +136,14 @@ seconds, metres and line go into. Routes come from the provider (`route`),
|
|
|
136
136
|
loaded the first time one is asked for, or from the app's own `route` in the
|
|
137
137
|
settings.
|
|
138
138
|
|
|
139
|
+
Pins that crowd are gathered as a list's map gathers them, again at each zoom:
|
|
140
|
+
a bubble with their count ("2 here: Delta Foods, Amira Clinics. Zoom in to see
|
|
141
|
+
them."), pressed to zoom in until they part, or to list them when they stand on
|
|
142
|
+
one spot. A place that moves is never hidden in a bubble: the pins that crowd
|
|
143
|
+
it are gathered under it, and it wears their count, still gliding, greying and
|
|
144
|
+
followed. Routes, reachable areas and fences read where places are, never where
|
|
145
|
+
a bubble stands.
|
|
146
|
+
|
|
139
147
|
## Areas by colour, reach and fences
|
|
140
148
|
|
|
141
149
|
Districts, zones or municipalities shaded in up to five steps of the page's
|
|
@@ -163,8 +171,10 @@ the browser showing the map: what must happen once, your server watches.
|
|
|
163
171
|
|
|
164
172
|
A list's map with `heat` shows its records as a heat map from afar (each
|
|
165
173
|
weighing one, or `weight`), their pins back at the streets. Any map takes
|
|
166
|
-
`tools`: `satellite`, `
|
|
167
|
-
|
|
174
|
+
`tools`: `satellite`, `traffic` (the provider's live traffic over the map),
|
|
175
|
+
`fullscreen`, `measure`, and on a list's map `nearest` (its records nearest the
|
|
176
|
+
reader first, the data source sorting by `near`). A provider with no satellite
|
|
177
|
+
images or no traffic shows no button for them.
|
|
168
178
|
Areas, reach, fences, the heat map and the tools each load with the first map
|
|
169
179
|
that has them.
|
|
170
180
|
|
|
@@ -180,17 +190,19 @@ move the map.
|
|
|
180
190
|
|
|
181
191
|
On a list's map, Tab goes from the map to each pin and bubble by its name;
|
|
182
192
|
Enter or Space opens a pin's card (Ctrl or ⌘ with it chooses the record) or
|
|
183
|
-
zooms into a bubble, and Escape closes the card, back on its pin.
|
|
193
|
+
zooms into a bubble, and Escape closes the card, back on its pin. A form's map
|
|
194
|
+
does the same, its bubbles saying whose pins they hold; the keys stay on the
|
|
195
|
+
pin, or the bubble, that holds the place they were on.
|
|
184
196
|
|
|
185
197
|
## Providers
|
|
186
198
|
|
|
187
|
-
| Provider | Road | Dark | Satellite | Address search | Routes | Reachable area |
|
|
188
|
-
| --- | --- | --- | --- | --- | --- | --- |
|
|
189
|
-
| `azureMaps({ key })` or `({ token, clientId })` | yes | yes | yes | yes, as people type | car, foot | car |
|
|
190
|
-
| `googleMaps({ key, region, logo })` (Map Tiles API) | yes | no | yes | Places API, as people type | car, bike, foot (Routes API) | no |
|
|
191
|
-
| `mapbox({ token })` | yes | yes | yes | yes, as people type | car (traffic), bike, foot | car, bike, foot |
|
|
192
|
-
| `tiles({ url, credit, route, reach })` | the app's own map images | | | the app's own | the app's own | the app's own |
|
|
193
|
-
| `openStreetMap()` | yes, **for demos only** | no | no | Photon, as people type, nearest first (or `{ search: 'nominatim' }`, on Enter) | OSRM's demo server, car only (or `osrmUrl`) | no |
|
|
199
|
+
| Provider | Road | Dark | Satellite | Traffic | Address search | Routes | Reachable area |
|
|
200
|
+
| --- | --- | --- | --- | --- | --- | --- | --- |
|
|
201
|
+
| `azureMaps({ key })` or `({ token, clientId })` | yes | yes | yes | yes, from zoom 6, in dark colours on the dark map, drawn again every four minutes | yes, as people type | car, foot | car |
|
|
202
|
+
| `googleMaps({ key, region, logo })` (Map Tiles API) | yes | no | yes | yes, its traffic layer | Places API, as people type | car, bike, foot (Routes API) | no |
|
|
203
|
+
| `mapbox({ token, trafficStyle })` | yes | yes | yes | from `trafficStyle`, a style of yours with Mapbox Traffic's lines alone | yes, as people type | car (traffic), bike, foot | car, bike, foot |
|
|
204
|
+
| `tiles({ url, credit, trafficUrl, route, reach })` | the app's own map images | | | the app's own (`trafficUrl`) | the app's own | the app's own | the app's own |
|
|
205
|
+
| `openStreetMap()` | yes, **for demos only** | no | no | no | Photon, as people type, nearest first (or `{ search: 'nominatim' }`, on Enter) | OSRM's demo server, car only (or `osrmUrl`) | no |
|
|
194
206
|
|
|
195
207
|
Keys never live in Fieldia: pass one restricted to your sites, or a function
|
|
196
208
|
fetching a short-lived token from your server. Each provider's credits are shown
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fieldia/map",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"description": "Fieldia's maps: a place and an area as fields, and a list's records on a map, on any map provider. Leaflet, loaded only where a map is shown.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://fieldia.dev",
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"./package.json": "./package.json"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@fieldia/core": "0.
|
|
25
|
-
"@fieldia/viewer": "0.
|
|
26
|
-
"@fieldia/widgets": "0.
|
|
24
|
+
"@fieldia/core": "0.18.0",
|
|
25
|
+
"@fieldia/viewer": "0.18.0",
|
|
26
|
+
"@fieldia/widgets": "0.18.0",
|
|
27
27
|
"leaflet": "^1.9.4",
|
|
28
28
|
"tslib": "^2.8.1"
|
|
29
29
|
},
|
package/src/lib/card.d.mts
CHANGED
|
@@ -39,7 +39,7 @@ export interface Card {
|
|
|
39
39
|
focus(): void;
|
|
40
40
|
}
|
|
41
41
|
export declare function drawCard(options: CardOptions): Card;
|
|
42
|
-
/** Pins on one spot that no zoom parts: a list of them, each opening its own card. */
|
|
42
|
+
/** Pins on one spot that no zoom parts: a list of them, each opening its own card; one with no card is only named. */
|
|
43
43
|
export declare function drawCrowd(options: {
|
|
44
44
|
document: Document;
|
|
45
45
|
labels: ListMapLabels;
|
|
@@ -47,6 +47,7 @@ export declare function drawCrowd(options: {
|
|
|
47
47
|
records: {
|
|
48
48
|
record: MapRecord;
|
|
49
49
|
name: string;
|
|
50
|
+
plain?: boolean;
|
|
50
51
|
}[];
|
|
51
52
|
pick(record: MapRecord): void;
|
|
52
53
|
close(): void;
|
package/src/lib/card.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export interface Card {
|
|
|
39
39
|
focus(): void;
|
|
40
40
|
}
|
|
41
41
|
export declare function drawCard(options: CardOptions): Card;
|
|
42
|
-
/** Pins on one spot that no zoom parts: a list of them, each opening its own card. */
|
|
42
|
+
/** Pins on one spot that no zoom parts: a list of them, each opening its own card; one with no card is only named. */
|
|
43
43
|
export declare function drawCrowd(options: {
|
|
44
44
|
document: Document;
|
|
45
45
|
labels: ListMapLabels;
|
|
@@ -47,6 +47,7 @@ export declare function drawCrowd(options: {
|
|
|
47
47
|
records: {
|
|
48
48
|
record: MapRecord;
|
|
49
49
|
name: string;
|
|
50
|
+
plain?: boolean;
|
|
50
51
|
}[];
|
|
51
52
|
pick(record: MapRecord): void;
|
|
52
53
|
close(): void;
|
package/src/lib/card.js
CHANGED
|
@@ -72,7 +72,7 @@ function drawCard(options) {
|
|
|
72
72
|
focus: () => first.focus(),
|
|
73
73
|
};
|
|
74
74
|
}
|
|
75
|
-
/** Pins on one spot that no zoom parts: a list of them, each opening its own card. */
|
|
75
|
+
/** Pins on one spot that no zoom parts: a list of them, each opening its own card; one with no card is only named. */
|
|
76
76
|
function drawCrowd(options) {
|
|
77
77
|
const { document: doc, labels } = options;
|
|
78
78
|
const heading = (0, labels_1.fill)(labels.crowd, { n: options.records.length });
|
|
@@ -81,7 +81,9 @@ function drawCrowd(options) {
|
|
|
81
81
|
element.setAttribute('role', 'group');
|
|
82
82
|
element.setAttribute('aria-label', heading);
|
|
83
83
|
const close = closeButton(doc, labels, options.close);
|
|
84
|
-
const items = options.records.map(({ record, name }) => {
|
|
84
|
+
const items = options.records.map(({ record, name, plain }) => {
|
|
85
|
+
if (plain)
|
|
86
|
+
return make(doc, 'li', '', make(doc, 'span', 'fd-map-crowd-item', name));
|
|
85
87
|
const button = make(doc, 'button', 'fd-map-crowd-item', name);
|
|
86
88
|
button.type = 'button';
|
|
87
89
|
button.dataset['id'] = String(record.id);
|
|
@@ -92,7 +94,7 @@ function drawCrowd(options) {
|
|
|
92
94
|
return {
|
|
93
95
|
element,
|
|
94
96
|
setChosen: () => undefined,
|
|
95
|
-
focus: () => (
|
|
97
|
+
focus: () => (element.querySelector('.fd-map-crowd-list button') ?? close).focus(),
|
|
96
98
|
};
|
|
97
99
|
}
|
|
98
100
|
//# sourceMappingURL=card.js.map
|
package/src/lib/card.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../../../libs/map/src/lib/card.ts"],"names":[],"mappings":";;AAwDA,4BAsDC;AAGD,
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../../../libs/map/src/lib/card.ts"],"names":[],"mappings":"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"}
|
package/src/lib/card.mjs
CHANGED
|
@@ -68,7 +68,7 @@ export function drawCard(options) {
|
|
|
68
68
|
focus: () => first.focus(),
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
|
-
/** Pins on one spot that no zoom parts: a list of them, each opening its own card. */
|
|
71
|
+
/** Pins on one spot that no zoom parts: a list of them, each opening its own card; one with no card is only named. */
|
|
72
72
|
export function drawCrowd(options) {
|
|
73
73
|
const { document: doc, labels } = options;
|
|
74
74
|
const heading = fill(labels.crowd, { n: options.records.length });
|
|
@@ -77,7 +77,9 @@ export function drawCrowd(options) {
|
|
|
77
77
|
element.setAttribute('role', 'group');
|
|
78
78
|
element.setAttribute('aria-label', heading);
|
|
79
79
|
const close = closeButton(doc, labels, options.close);
|
|
80
|
-
const items = options.records.map(({ record, name }) => {
|
|
80
|
+
const items = options.records.map(({ record, name, plain }) => {
|
|
81
|
+
if (plain)
|
|
82
|
+
return make(doc, 'li', '', make(doc, 'span', 'fd-map-crowd-item', name));
|
|
81
83
|
const button = make(doc, 'button', 'fd-map-crowd-item', name);
|
|
82
84
|
button.type = 'button';
|
|
83
85
|
button.dataset['id'] = String(record.id);
|
|
@@ -88,7 +90,7 @@ export function drawCrowd(options) {
|
|
|
88
90
|
return {
|
|
89
91
|
element,
|
|
90
92
|
setChosen: () => undefined,
|
|
91
|
-
focus: () => (
|
|
93
|
+
focus: () => (element.querySelector('.fd-map-crowd-list button') ?? close).focus(),
|
|
92
94
|
};
|
|
93
95
|
}
|
|
94
96
|
//# sourceMappingURL=card.mjs.map
|
package/src/lib/card.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.mjs","sourceRoot":"","sources":["../../../../../libs/map/src/lib/card.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"card.mjs","sourceRoot":"","sources":["../../../../../libs/map/src/lib/card.ts"],"names":[],"mappings":"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"}
|
package/src/lib/cluster.d.mts
CHANGED
|
@@ -4,9 +4,14 @@
|
|
|
4
4
|
* its points, so two bubbles' middles can fall near each other: those are
|
|
5
5
|
* gathered again, until no two lie nearer than `radius`. Points are looked
|
|
6
6
|
* up in a grid of `radius` squares, nine squares around each: thousands in a
|
|
7
|
-
* few milliseconds.
|
|
7
|
+
* few milliseconds. A point that `leads` (a place that moves, on a form's
|
|
8
|
+
* map) keeps its own spot: a group with one stands where it stands, not in
|
|
9
|
+
* the middle, and is gathered again from there; put it first, so the points
|
|
10
|
+
* round it gather to it. Returns the groups as indexes into `points`, each in
|
|
11
|
+
* order.
|
|
8
12
|
*/
|
|
9
13
|
export declare function clusterPoints(points: readonly {
|
|
10
14
|
x: number;
|
|
11
15
|
y: number;
|
|
16
|
+
leads?: boolean;
|
|
12
17
|
}[], radius: number): number[][];
|
package/src/lib/cluster.d.ts
CHANGED
|
@@ -4,9 +4,14 @@
|
|
|
4
4
|
* its points, so two bubbles' middles can fall near each other: those are
|
|
5
5
|
* gathered again, until no two lie nearer than `radius`. Points are looked
|
|
6
6
|
* up in a grid of `radius` squares, nine squares around each: thousands in a
|
|
7
|
-
* few milliseconds.
|
|
7
|
+
* few milliseconds. A point that `leads` (a place that moves, on a form's
|
|
8
|
+
* map) keeps its own spot: a group with one stands where it stands, not in
|
|
9
|
+
* the middle, and is gathered again from there; put it first, so the points
|
|
10
|
+
* round it gather to it. Returns the groups as indexes into `points`, each in
|
|
11
|
+
* order.
|
|
8
12
|
*/
|
|
9
13
|
export declare function clusterPoints(points: readonly {
|
|
10
14
|
x: number;
|
|
11
15
|
y: number;
|
|
16
|
+
leads?: boolean;
|
|
12
17
|
}[], radius: number): number[][];
|
package/src/lib/cluster.js
CHANGED
|
@@ -7,15 +7,21 @@ exports.clusterPoints = clusterPoints;
|
|
|
7
7
|
* its points, so two bubbles' middles can fall near each other: those are
|
|
8
8
|
* gathered again, until no two lie nearer than `radius`. Points are looked
|
|
9
9
|
* up in a grid of `radius` squares, nine squares around each: thousands in a
|
|
10
|
-
* few milliseconds.
|
|
10
|
+
* few milliseconds. A point that `leads` (a place that moves, on a form's
|
|
11
|
+
* map) keeps its own spot: a group with one stands where it stands, not in
|
|
12
|
+
* the middle, and is gathered again from there; put it first, so the points
|
|
13
|
+
* round it gather to it. Returns the groups as indexes into `points`, each in
|
|
14
|
+
* order.
|
|
11
15
|
*/
|
|
12
16
|
function clusterPoints(points, radius) {
|
|
13
17
|
let groups = gather(points, radius);
|
|
14
18
|
for (;;) {
|
|
15
|
-
const middles = groups.map((group) =>
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
const middles = groups.map((group) => {
|
|
20
|
+
const lead = group.find((i) => points[i].leads);
|
|
21
|
+
return lead === undefined
|
|
22
|
+
? { x: group.reduce((sum, i) => sum + points[i].x, 0) / group.length, y: group.reduce((sum, i) => sum + points[i].y, 0) / group.length }
|
|
23
|
+
: points[lead];
|
|
24
|
+
});
|
|
19
25
|
const merged = gather(middles, radius);
|
|
20
26
|
if (merged.length === groups.length)
|
|
21
27
|
return groups;
|
package/src/lib/cluster.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../../../../libs/map/src/lib/cluster.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"cluster.js","sourceRoot":"","sources":["../../../../../libs/map/src/lib/cluster.ts"],"names":[],"mappings":"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"}
|
package/src/lib/cluster.mjs
CHANGED
|
@@ -4,15 +4,21 @@
|
|
|
4
4
|
* its points, so two bubbles' middles can fall near each other: those are
|
|
5
5
|
* gathered again, until no two lie nearer than `radius`. Points are looked
|
|
6
6
|
* up in a grid of `radius` squares, nine squares around each: thousands in a
|
|
7
|
-
* few milliseconds.
|
|
7
|
+
* few milliseconds. A point that `leads` (a place that moves, on a form's
|
|
8
|
+
* map) keeps its own spot: a group with one stands where it stands, not in
|
|
9
|
+
* the middle, and is gathered again from there; put it first, so the points
|
|
10
|
+
* round it gather to it. Returns the groups as indexes into `points`, each in
|
|
11
|
+
* order.
|
|
8
12
|
*/
|
|
9
13
|
export function clusterPoints(points, radius) {
|
|
10
14
|
let groups = gather(points, radius);
|
|
11
15
|
for (;;) {
|
|
12
|
-
const middles = groups.map((group) =>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
const middles = groups.map((group) => {
|
|
17
|
+
const lead = group.find((i) => points[i].leads);
|
|
18
|
+
return lead === undefined
|
|
19
|
+
? { x: group.reduce((sum, i) => sum + points[i].x, 0) / group.length, y: group.reduce((sum, i) => sum + points[i].y, 0) / group.length }
|
|
20
|
+
: points[lead];
|
|
21
|
+
});
|
|
16
22
|
const merged = gather(middles, radius);
|
|
17
23
|
if (merged.length === groups.length)
|
|
18
24
|
return groups;
|
package/src/lib/cluster.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cluster.mjs","sourceRoot":"","sources":["../../../../../libs/map/src/lib/cluster.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cluster.mjs","sourceRoot":"","sources":["../../../../../libs/map/src/lib/cluster.ts"],"names":[],"mappings":"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"}
|
package/src/lib/form-map.d.mts
CHANGED
|
@@ -5,7 +5,8 @@ import type { MapSettings } from './settings.mjs';
|
|
|
5
5
|
* places as layers. A layer is the record's own place (a kitchen, a door, a
|
|
6
6
|
* courier), a place for each of its lines (a round's stops), a route along
|
|
7
7
|
* the roads between them, or the reader's own place. Pins are drawn as a
|
|
8
|
-
* list's map draws them
|
|
8
|
+
* list's map draws them, and gathered as it gathers them when they crowd. A
|
|
9
|
+
* place that moves glides to each new position —
|
|
9
10
|
* along its route when it is on one — says when it was last seen once its
|
|
10
11
|
* news is old, and is followed until the person moves the map. A route's
|
|
11
12
|
* part already travelled fades, and its time and distance left are written
|
package/src/lib/form-map.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ import type { MapSettings } from './settings';
|
|
|
5
5
|
* places as layers. A layer is the record's own place (a kitchen, a door, a
|
|
6
6
|
* courier), a place for each of its lines (a round's stops), a route along
|
|
7
7
|
* the roads between them, or the reader's own place. Pins are drawn as a
|
|
8
|
-
* list's map draws them
|
|
8
|
+
* list's map draws them, and gathered as it gathers them when they crowd. A
|
|
9
|
+
* place that moves glides to each new position —
|
|
9
10
|
* along its route when it is on one — says when it was last seen once its
|
|
10
11
|
* news is old, and is followed until the person moves the map. A route's
|
|
11
12
|
* part already travelled fades, and its time and distance left are written
|