mapricot 0.12.0 → 0.14.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 +10 -6
- package/dist/index.d.ts +6 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ In a web page, use a browser key, which works only from the origins you allow, a
|
|
|
25
25
|
|
|
26
26
|
## Methods
|
|
27
27
|
|
|
28
|
-
Methods are grouped by product, the same way as the API's paths. Each returns the API's JSON, typed, with the same field names as the [API reference](https://mapricot.com/api-reference/).
|
|
28
|
+
Methods are grouped by product, the same way as the API's paths. Each returns the API's JSON, typed, with the same field names as the [API reference](https://mapricot.com/docs/api-reference/).
|
|
29
29
|
|
|
30
30
|
| Method | Endpoint |
|
|
31
31
|
| --- | --- |
|
|
@@ -35,9 +35,9 @@ Methods are grouped by product, the same way as the API's paths. Each returns th
|
|
|
35
35
|
| `client.geocoding.reverse(lat, lon, { limit, lang })` | [`GET /geocoding/v1/reverse`](https://mapricot.com/docs/geocoding/#find-the-address-at-a-point) |
|
|
36
36
|
| `client.places.nearby(lat, lon, { category, radius, limit, lang })` | [`GET /places/v1/nearby`](https://mapricot.com/docs/places/#list-places-around-a-point) |
|
|
37
37
|
| `client.places.get(id, { lang })` | [`GET /places/v1/{id}`](https://mapricot.com/docs/places/#look-up-a-saved-place) |
|
|
38
|
-
| `client.routing.route(waypoints, { mode, geometries, steps, lang })` | [`POST /routing/v1/route`](https://mapricot.com/docs/routing/#get-a-route) |
|
|
39
|
-
| `client.routing.optimize(waypoints, { mode, geometries, steps, lang })` | [`POST /routing/v1/optimize`](https://mapricot.com/docs/routing/#optimize-the-order-of-stops) |
|
|
40
|
-
| `client.routing.isochrone(location, minutes, { mode })` | [`POST /routing/v1/isochrone`](https://mapricot.com/docs/routing/#get-an-isochrone) |
|
|
38
|
+
| `client.routing.route(waypoints, { mode, geometries, steps, lang, costing })` | [`POST /routing/v1/route`](https://mapricot.com/docs/routing/#get-a-route) |
|
|
39
|
+
| `client.routing.optimize(waypoints, { mode, geometries, steps, lang, costing })` | [`POST /routing/v1/optimize`](https://mapricot.com/docs/routing/#optimize-the-order-of-stops) |
|
|
40
|
+
| `client.routing.isochrone(location, minutes, { mode, costing, generalize })` | [`POST /routing/v1/isochrone`](https://mapricot.com/docs/routing/#get-an-isochrone) |
|
|
41
41
|
| `client.ipGeolocation.lookup(ip)` | [`GET /ip-geolocation/v1/{ip}`](https://mapricot.com/docs/ip-geolocation/#look-up-an-address) |
|
|
42
42
|
| `client.account()` | `GET /account`, which checks a key and is never billed |
|
|
43
43
|
|
|
@@ -75,8 +75,12 @@ const area = await client.routing.isochrone({ lat: 45.5189, lon: -122.6793 }, [5
|
|
|
75
75
|
map.addSource("reach", { type: "geojson", data: area });
|
|
76
76
|
```
|
|
77
77
|
|
|
78
|
+
`generalize` smooths each outline to within that many meters, from 10 to 5000, so it has fewer points. The API picks it from the travel time when you leave it out. A long drive's outlines are detailed and large, and `generalize: 300` makes them much smaller while keeping their shape at city scale.
|
|
79
|
+
|
|
78
80
|
Pass `steps: true` and each leg's `steps` has its turn-by-turn directions: an `instruction`, its distance and time, and its `lat` and `lon`. They're in English unless you pass `lang`, such as `lang: "fr"`.
|
|
79
81
|
|
|
82
|
+
`costing` changes how a route, optimized route, or isochrone picks its roads, with Valhalla's [costing options](https://mapricot.com/docs/routing/#costing-options) for the mode, such as `{ useTolls: 0, useHighways: 0 }` to drive avoiding tolls and highways where it can.
|
|
83
|
+
|
|
80
84
|
If your app shows results, show the credits in each response's `attribution`.
|
|
81
85
|
|
|
82
86
|
## Errors and retries
|
|
@@ -94,11 +98,11 @@ try {
|
|
|
94
98
|
}
|
|
95
99
|
```
|
|
96
100
|
|
|
97
|
-
The client retries `503` responses and `429 concurrency_exceeded`, up to twice, waiting longer each time. Errors aren't billed. Set `maxRetries` and `timeout` (milliseconds) in the constructor's options to change this. The [API reference](https://mapricot.com/api-reference/#errors) lists every status.
|
|
101
|
+
The client retries `503` responses and `429 concurrency_exceeded`, up to twice, waiting longer each time. Errors aren't billed. Set `maxRetries` and `timeout` (milliseconds) in the constructor's options to change this. The [API reference](https://mapricot.com/docs/api-reference/#errors) lists every status.
|
|
98
102
|
|
|
99
103
|
## Links
|
|
100
104
|
|
|
101
105
|
- [Mapricot](https://mapricot.com/)
|
|
102
106
|
- [Node.js docs](https://mapricot.com/docs/node/)
|
|
103
|
-
- [API reference](https://mapricot.com/api-reference/)
|
|
107
|
+
- [API reference](https://mapricot.com/docs/api-reference/)
|
|
104
108
|
- [Pricing](https://mapricot.com/pricing/)
|
package/dist/index.d.ts
CHANGED
|
@@ -60,6 +60,8 @@ export interface PlaceResult {
|
|
|
60
60
|
result: Place;
|
|
61
61
|
attribution: Attribution[];
|
|
62
62
|
}
|
|
63
|
+
/** Valhalla's costing options for the mode, named in camelCase, such as `{ useTolls: 0 }`. See https://mapricot.com/docs/routing/#costing-options. */
|
|
64
|
+
export type Costing = Record<string, number | boolean | string>;
|
|
63
65
|
export interface Leg {
|
|
64
66
|
distanceMeters: number;
|
|
65
67
|
durationSeconds: number;
|
|
@@ -202,6 +204,7 @@ export declare class Mapricot {
|
|
|
202
204
|
geometries?: "polyline" | "polyline6" | "geojson";
|
|
203
205
|
steps?: boolean;
|
|
204
206
|
lang?: string;
|
|
207
|
+
costing?: Costing;
|
|
205
208
|
}) => Promise<Routes>;
|
|
206
209
|
/** Find a fast route through 2 to 20 waypoints, keeping the first and last in place and reordering the rest. */
|
|
207
210
|
optimize: (waypoints: Point[], { signal, ...options }?: RequestOptions & {
|
|
@@ -209,10 +212,13 @@ export declare class Mapricot {
|
|
|
209
212
|
geometries?: "polyline" | "polyline6" | "geojson";
|
|
210
213
|
steps?: boolean;
|
|
211
214
|
lang?: string;
|
|
215
|
+
costing?: Costing;
|
|
212
216
|
}) => Promise<Routes>;
|
|
213
217
|
/** The areas reachable from a location within 1 to 4 times, each 1 to 60 minutes. */
|
|
214
218
|
isochrone: (location: Point, minutes: number[], { signal, ...options }?: RequestOptions & {
|
|
215
219
|
mode?: "drive" | "walk" | "bicycle";
|
|
220
|
+
costing?: Costing;
|
|
221
|
+
generalize?: number;
|
|
216
222
|
}) => Promise<Isochrones>;
|
|
217
223
|
};
|
|
218
224
|
readonly ipGeolocation: {
|