mapricot 0.3.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/README.md CHANGED
@@ -34,7 +34,7 @@ Each method returns the API's JSON, typed, with the same field names as the [API
34
34
  | `client.reverse(lat, lon, { limit, lang })` | [`GET /v1/reverse`](https://mapricot.com/docs/geocoding/#find-the-address-at-a-point) |
35
35
  | `client.nearby(lat, lon, { category, radius, limit, lang })` | [`GET /v1/nearby`](https://mapricot.com/docs/places/#list-places-around-a-point) |
36
36
  | `client.place(id, { lang })` | [`GET /v1/places/{id}`](https://mapricot.com/docs/places/#look-up-a-saved-place) |
37
- | `client.route(waypoints, { mode })` | [`POST /v1/route`](https://mapricot.com/docs/routing/#get-a-route) |
37
+ | `client.route(waypoints, { mode, geometries })` | [`POST /v1/route`](https://mapricot.com/docs/routing/#get-a-route) |
38
38
  | `client.ip(address)` | [`GET /v1/ip/{ip}`](https://mapricot.com/docs/ip-geolocation/#look-up-an-address) |
39
39
  | `client.account()` | `GET /v1/account`, which checks a key and is never billed |
40
40
 
@@ -54,7 +54,7 @@ const request = client.autocomplete("1005 W Burn", { signal: controller.signal }
54
54
  controller.abort();
55
55
  ```
56
56
 
57
- A route's `polyline` is encoded with six decimal places. Decode it with precision 6, as [decoding a route polyline](https://mapricot.com/guides/polyline-decoder/) shows.
57
+ A route's path comes as an encoded `polyline` with five decimal places, which polyline decoders assume. Pass `geometries: "geojson"` to get it as a GeoJSON `LineString` in `geometry` instead, which maps draw without decoding, or `geometries: "polyline6"` for six decimal places.
58
58
 
59
59
  If your app shows results, show the credits in each response's `attribution`.
60
60
 
package/dist/index.d.ts CHANGED
@@ -40,10 +40,17 @@ export interface Leg {
40
40
  export interface Route {
41
41
  distanceMeters: number;
42
42
  durationSeconds: number;
43
- /** Encoded polyline with six decimal places of precision. */
44
- polyline: string;
43
+ /** Encoded polyline, with five decimal places unless `geometries` was `polyline6`. Absent for `geojson`. */
44
+ polyline?: string;
45
+ /** The path as GeoJSON, when `geometries` was `geojson`. */
46
+ geometry?: LineString;
45
47
  legs: Leg[];
46
48
  }
49
+ export interface LineString {
50
+ type: "LineString";
51
+ /** [longitude, latitude] pairs. */
52
+ coordinates: [number, number][];
53
+ }
47
54
  export interface Routes {
48
55
  routes: Route[];
49
56
  attribution?: Attribution[];
@@ -67,7 +74,7 @@ export interface Account {
67
74
  id: string;
68
75
  name: string;
69
76
  status: string;
70
- created_at: string;
77
+ createdAt: string;
71
78
  }
72
79
  export interface Point {
73
80
  lat: number;
@@ -125,6 +132,7 @@ export declare class Mapricot {
125
132
  /** Find a route through 2 to 20 waypoints. */
126
133
  route(waypoints: Point[], { signal, ...options }?: RequestOptions & {
127
134
  mode?: "drive" | "walk" | "bicycle";
135
+ geometries?: "polyline" | "polyline6" | "geojson";
128
136
  }): Promise<Routes>;
129
137
  /** Approximate location of a public IP address. */
130
138
  ip(address: string, { signal }?: RequestOptions): Promise<IpLocation>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mapricot",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "Official client for the Mapricot API: geocoding, places, routing, and IP geolocation.",
5
5
  "keywords": [
6
6
  "geocoding",