Astro quickstart

Install the EDK SDK and add search, routing, and compute to a Astro application.

Documentation navigation

Install

terminal
npm install @edk/sdk
Astro can run this code in its page frontmatter, keeping the template static until you add client-side behavior.

Example

src/pages/index.astro
---
import { EDK } from "@edk/sdk";

const e2 = new EDK();

const places = await e2.search({
  feature: "restaurant",
  area: "Manhattan",
  mode: "auto",
  limit: 100,
});

const route = await e2.route.route({
  locations: [{ lat: 40.74, lon: -73.99 }, { lat: 40.71, lon: -74.01 }],
  mode: "walking",
});

const count = await e2.compute.feature("restaurant")
  .region("Manhattan")
  .near("park", 500)
  .count();
---

<html lang="en">
  <body>
    <p>{places.features.length} restaurants, {count} near parks</p>
  </body>
</html>

Search example

src/search.ts
import { EDK } from "@edk/sdk";

const e2 = new EDK({ searchUrl: "/search" });
const places = await e2.search({
  feature: ["restaurant", "hospital"],
  area: ["Manhattan", "Brooklyn"],
  mode: "auto",
  limit: 100,
});

console.log(places.features);
The universal EDK import routes browser search to HTTP /search. Set searchUrl to your API route when it lives elsewhere.

Next steps

Replace the example coordinates and feature with your own values. Continue with the SDK guide for Search, Routes, Compute, storage, and catalogs.