New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@yatmo/vue

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@yatmo/vue

Add real estate maps, points of interest and neighbourhood data to Vue and Nuxt applications: YatmoMap, YatmoPois and YatmoNeighbourhoodText components and composables for property pages, with server rendering support. The official Vue SDK for Yatmo.

latest
Source
npmnpm
Version
1.0.0
Version published
Maintainers
1
Created
Source

@yatmo/vue

Add real estate maps, points of interest and neighbourhood data to Vue and Nuxt applications. @yatmo/vue is the official Vue SDK for Yatmo, providing ready-to-use components for property maps, nearby schools, nurseries, supermarkets and public transport with real travel times, and written neighbourhood insights, in 25 countries and 23 languages. Vue 3 and Nuxt 3, server rendering included.

npm install @yatmo/vue
<script setup>
import { YatmoMap, YatmoPois, YatmoNeighbourhoodText } from '@yatmo/vue';
const yatmo = { key: 'YOUR_FRONTEND_KEY', country: 'BE', language: 'FR', latitude: 50.8461, longitude: 4.3664 };
</script>

<template>
  <YatmoMap :license-key="yatmo.key" country="BE" language="FR" :latitude="50.8461" :longitude="4.3664" marker="circle" isochrone="right" />
  <YatmoPois :client="yatmo" :categories="['education', 'shopping']" />
  <YatmoNeighbourhoodText :client="yatmo" />
</template>

Yatmo neighbourhood map with points of interest and travel times on a property page

Install in 5 minutes

  • Get a Yatmo licence key at yatmo.com. In the browser, use the frontend key (locked to your domains); on the server, the backend key (keys explained).
  • npm install @yatmo/vue (Vue 3.3 or later).
  • Put <YatmoMap> on the property page with the coordinates; add <YatmoPois> and <YatmoNeighbourhoodText>.

Runnable demo (Vite, a complete listing page): yatmo-examples/11-vue.

Components

<YatmoMap>

The interactive neighbourhood map as the Yatmo iframe plugin: points of interest with travel times on foot, by bike, by car and by public transport, summary, isochrones, routes. Renders on the server too (it is one <iframe>), and several maps can share a page. Props are the iframe plugin parameters: license-key, country, language, latitude, longitude, mode, zoom, map-style, accent-color, marker, circle-radius-in-meters, custom-marker, rounded, isochrone, route-from, user-id, height, title.

<YatmoInteractiveMap>

The Yatmo JavaScript map plugin, when the map must blend into the page or expose the search features (travel-time search, listings on the map). config is the plugin's yatmoConfig without container. One per page.

<YatmoInteractiveMap :config="{ licenseKey: KEY, country: 'BE', language: 'FR', center: [4.3664, 50.8461], zoom: 16, fullScreenButton: true }" />

<YatmoPois>

The nearest places by category with distance and travel time, as headings and lists styled by your CSS. Props: categories (education, transport, shopping, tourism), mode (walking default, bicycling, driving, transit), limit per sub-category, heading. Slots: place (scoped: { place, distance, time }), fallback, error (scoped: { error }).

<YatmoNeighbourhoodText>

The written description of the neighbourhood: headings and paragraphs, key places in <strong>. Props: heading (h2 to h6, empty for none), titles (street-city, city for discreet listings, generic), paragraphs (education, shopping, publictransports, transports, tourism, cities), strong. Slots: fallback, error.

Server rendering, for search engines

YatmoPois and YatmoNeighbourhoodText take their data either from client (fetched in the browser once mounted, with the frontend key) or from summary / text fetched on the server with @yatmo/sdk. The second form renders the text into the HTML, so search engines and AI assistants index it. In Nuxt:

<script setup>
import { createYatmoClient } from '@yatmo/sdk';
import { YatmoMap, YatmoNeighbourhoodText, YatmoPois } from '@yatmo/vue';

const listing = await getListing(useRoute().params.id);
const { data } = await useAsyncData('yatmo-' + listing.id, async () => {
  const yatmo = createYatmoClient({ key: useRuntimeConfig().yatmoKey, country: 'FR', language: 'FR' });   // backend key, server only
  const [text, summary] = await Promise.all([yatmo.summaryText(listing), yatmo.summary(listing)]);
  return { text, summary };
});
</script>

<template>
  <article>
    <h1>{{ listing.title }}</h1>
    <YatmoMap :license-key="useRuntimeConfig().public.yatmoFrontendKey" country="FR" language="FR" :latitude="listing.latitude" :longitude="listing.longitude" />
    <YatmoPois :summary="data.summary" :categories="['education', 'transport']" />
    <YatmoNeighbourhoodText :text="data.text" />
  </article>
</template>

Composables

useYatmoClient(config), useYatmoSummary(client, position) and useYatmoText(client, position, language?) return { data, loading, error, refresh } refs for your own markup. Requests run once mounted and whenever the position changes.

More

Examples · Documentation · React · Web components for any site

MIT licence. Yatmo is a paid service for real estate portals, agency networks and developers; a licence key is required.

Keywords

yatmo

FAQs

Package last updated on 01 Oct 2026

Related posts