Skip to content

Map ​

Карта з перетягуванням і масштабуванням, що показує одну точку. Тайли беруться з OpenFreeMap — безкоштовно, без API-ключа, без налаштувань. Карта підлаштовується під світлий/темний режим і тонує воду та головні дороги поточним акцентним кольором.

Живе демо ​

Переміщення точки ​

Власна мітка ​

Токійська вежа

Використання ​

vue
<script setup>
import { ref } from "vue";

const places = {
  kyiv: { latitude: 50.4501, longitude: 30.5234 },
  paris: { latitude: 48.8584, longitude: 2.2945 },
  tokyo: { latitude: 35.6586, longitude: 139.7454 },
};
const place = ref("kyiv");
</script>

<template>
  <orio-map :coordinates="places.kyiv" />

  <orio-button variant="secondary" @click="place = 'paris'">Paris</orio-button>
  <orio-map :coordinates="places[place]" :zoom="12" />

  <orio-map
    :coordinates="places.paris"
    marker-icon="star"
    marker-color="var(--color-danger)"
  />

  <orio-map :coordinates="places.tokyo">
    <template #marker>
      <orio-tag variant="accent" text="Tokyo Tower" />
    </template>
  </orio-map>
</template>

Пропси ​

ПропТипЗа замовчуваннямОпис
coordinatesMapCoordinates-{ latitude, longitude } точки. Зміна переміщує мітку й плавно переводить туди карту
zoomnumber14Початковий рівень масштабу; далі масштабом керує користувач
markerIconstring'map-pin'Назва іконки для стандартної мітки
markerColorstring'var(--color-accent)'Будь-який CSS-колір або токен для стандартної мітки
mapStylestringавтоURL стилю MapLibre. Вимикає автоматичний світлий/темний стиль і акцентне тонування

Слоти ​

СлотПропсиОпис
marker{ coordinates }Замінює весь елемент мітки

Розміри ​

Карта має ширину 100% і висоту 20rem. Перевизначте класом або style="height: 30rem" на компоненті.

Інші постачальники тайлів ​

mapStyle приймає будь-який URL стилю, сумісний з MapLibre, наприклад інші стилі OpenFreeMap (https://tiles.openfreemap.org/styles/liberty, bright, fiord), MapTiler, Stadia Maps або власний стиль.