Astro quickstart

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

Documentation navigation

Install

terminal
npm install @embed-earth/sdk-test
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 { E2 } from "@embed-earth/sdk-test";

const e2 = new E2();

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 { E2 } from "@embed-earth/sdk-test";

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

console.log(places.features);
The universal E2 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, routing, compute, storage, catalogs, and cells.